尝试在 Powershell 中扫描目标目录时出现错误。
我正在使用的代码是;
$path = read-host 'Enter the target drive letter'
$objects = get-childitem $path -force -recurse
基本上我想要做的是让这个通用搜索工作(扫描用户指定的位置),以便我可以对其进行细化以搜索特定项目,例如按文件类型、大小等搜索的文件。但是,当它运行时,我得到一个当路径包含空格时出错,例如驱动器中的“文档和设置”或“程序文件”文件夹。
有什么办法可以做到这一点而不会出现此错误?我对powershell还是很陌生,我在其他任何地方都看不到这个答案,但如果这已经在其他地方有所介绍,我深表歉意。
更新:
它在 Powershell v2.0 上运行。想一想,我认为它与空间有关的原因是因为这些是唯一似乎出错的项目,但消息本身就说明了;
Get-ChildItem : Access to the path 'C:\Documents and Settings' is denied. At
C:\users\robert\desktop\v1.ps1:5 char:25 + $objects = get-childitem <<<< $path
- force -recurse + CategoryInfo : PermissionDenied: (C:\Documents and
Settings:String) [Get-ChildItem], UnauthorizedAccessException +
FullyQualifiedErrorId :
DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand
抱歉,如果这具有误导性,我认为当我以具有不受限制的执行策略的管理员身份运行此程序时,权限应该不是问题,但如果这实际上是导致它的原因,那么有一种方法可以覆盖它,因此它会扫描所有内容目标驱动器?