我正在 Google 上搜索脚本,以找到一个 PS 脚本来计算我们网络上多个目录中的文件类型和文件数量。
我工作电脑上的“库”目录中有几个目录。
我只是想测试一个 PS 脚本来让它工作,以计算文件数量并列出我的“Libraries\Documents\Tidbits”文件夹中的文件类型:
Get-ChildItem \\hilltop3\users$\LongRandy\My Documents\TIDBITS
但我收到此错误:
Get-ChildItem : Cannot find path '\\hilltop3\users$\LongRandy\My' because it does not exist.
At line:1 char:14
+ Get-ChildItem <<<< \\hilltop3\users$\LongRandy\My Documents\TIDBITS
+ CategoryInfo : ObjectNotFound: (\\hilltop3\users$\LongRandy\My:String) [Get-ChildItem], ItemNotFoundExc
eption
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand"
再次感谢
答案1
尝试这个:
$files = Get-ChildItem "\\hilltop3\users$\LongRandy\My Documents\TIDBITS" -recurse | where{$_.mode -notlike "d*"}
$files | group-object -Property extension | sort count -Descending
答案2
因为您的文件路径中有空格,所以您需要将其用引号引起来,以便 PowerShell 知道它是一个字符串/参数。
注意错误中的:
找不到路径“\hilltop3\users$\LongRandy\My”,因为它不存在。
它在后面的空格处停止,My
因为空格用于区分命令中的各个参数。
尝试以下方法:
Get-ChildItem "\\hilltop3\users$\LongRandy\My Documents\TIDBITS"
答案3
您可以尝试以下操作:
Get-Childitem X:\ -Recurse | 其中 { -not $_.PSIsContainer } | 组扩展 -NoElement | 排序计数 -desc
在哪里
X:\ = “\hilltop3\users$\LongRandy\My Documents\TIDBITS”
所以:
Get-Childitem "\hilltop3\users$\LongRandy\My Documents\TIDBITS" -Recurse | 其中 { -not $_.PSIsContainer } | 组扩展 -NoElement | 排序计数 -desc
应该管用。
答案4
您是如何获得该路径的?您确定它确实是吗\\hilltop3\users$\LongRandy\My Documents\TIDBITS
?它看起来像一个可能由文件夹重定向设置的目录。这意味着它可能有一个隐藏文件desktop.ini
,该文件在 Windows GUI 中为文件夹赋予了与您在命令行中使用的名称不同的名称。默认文档文件夹重定向路径名为“Documents”,而不是“My Documents”。
例如,在我的网络上,大多数用户的路径可能看起来像\\example.org\dfs\do\username\My Documents
,但实际路径是\\example.org\dfs\do\username\Documents
。Windowsdesktop.ini
在文件夹中添加了一个如下所示的文件。
[ExtShellFolderViews]
...
Owner=username
Personalized=5
PersonalizedName=My Documents
...
过去,正如其他人提到的,您可能只需要引用您的路径。