首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PowerShell - Get-ChildItem不排除目录。

PowerShell - Get-ChildItem不排除目录。
EN

Stack Overflow用户
提问于 2015-01-29 18:27:58
回答 1查看 674关注 0票数 0

当递归地通过特定目录进行搜索时,Get-ChildItem将从根目录开始搜索。我不想在C:\Windows目录中搜索。我想将搜索限制在C:\Docs目录下。

下面是我要做的事:

代码语言:javascript
复制
PS> Get-ChildItem -path “C:\docs” -Filter "*crypt*" -recurse -ErrorAction Stop
Get-ChildItem : Access to the path 'C:\Windows\CSC' is denied.
At line:1 char:1
+ Get-ChildItem -path “C:\docs” -Filter "*crypt*" -recurse -ErrorAction ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (C:\Windows\CSC:String) [Get-ChildItem], UnauthorizedAccessException
    + FullyQualifiedErrorId : DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand

PS> Get-ChildItem -path “C:\docs” -Filter "*crypt*" -exclude "C:\windows" -recurse -ErrorAction Stop
Get-ChildItem : Access to the path 'C:\Windows\CSC' is denied.
At line:1 char:1
+ Get-ChildItem -path “C:\docs” -Filter "*crypt*" -exclude "C:\windows" ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (C:\Windows\CSC:String) [Get-ChildItem], UnauthorizedAccessException
    + FullyQualifiedErrorId : DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand  

编辑: TL;DR:用户错误。我没有C:\Docs目录。

我正在编辑这个脚本,它运行在几个服务器上。我正在我的笔记本上测试。我仍然不明白为什么当它找不到起始路径时,它会查看文件系统的其余部分。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-29 19:19:27

看起来(我搜索得还不够),这可能是Get-ChildItem中的一个bug;如果您将一个不存在的路径传递给-path参数,它将从该驱动器的根(至少是本地驱动器)进行搜索。

在调用Get-ChildItem之前,测试路径的存在性,这样就可以避免这种情况了。

代码语言:javascript
复制
$mypath = "c:\docs";
if (test-path -path $mypath) {
    Get-childitem –path $mypath –filter “*crypt*" -recurse -ErrorAction stop;
} else {
    Write-Warning "$mypath not found";
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28221935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档