gpt4 book ai didi

powershell - Powershell gci -recurse命令返回错误错误

转载 作者:行者123 更新时间:2023-12-03 07:54:00 25 4
gpt4 key购买 nike

我在通过gci命令运行以检查访问权限的变量中存储了两条路径,类似于:

$p1 = c:\testing\folder1 #path is access denied
$p2 = c:\testing\folder2 #path doesn't exist

注意:错误是故意的,因为我试图在脚本中测试错误处理

如果我通过以下命令运行它们,则会得到相应的错误:
gci $p1
error: access denied c:\testing\folder1
gci $p2
error: file doesn't exist c:\testing\folder2
gci -recurse $p1
error: access denied c:\testing\folder1
gci -recurse $p2
error: access denied c:\testing\folder1

任何人都知道为什么会发生这种情况吗?

起初,我认为将path变量输入到函数中是一个问题,但是我已经看过了变量并且它们进行了适当的更改。上面的示例与我在脚本外部的powershell命令提示符处尝试的完全一样(当然,错误文本被简化了……但是您可以理解要点)。

当我在脚本中运行此命令并检查$ error输出时,它与在命令行中运行命令时发现的内容一致。

在Windows 7 sp1上,Powershell版本为4.0。

最佳答案

为了使-recurse开关如您所愿地工作,它需要知道folder1和folder2是目录。像这样设置变量:

$p1 = "c:\testing\folder1\" #path is access denied
$p2 = "c:\testing\folder2\" #path doesn't exist

它应该返回正确的错误。

-recurse在c:\ test中搜索,当完整路径没有结尾的反斜杠时,它最终运行在folder1上,并且拒绝遍历folder1的访问。

以及命令中的path参数,如下所示:
PS> gci -path $p1 -recurse

关于powershell - Powershell gci -recurse命令返回错误错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37844786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com