我有一个脚本可以准确地告诉我目录中有多少个文件夹,以及其中的子目录。但是,对于我正在使用的一个目录,有快捷方式文件夹似乎导致脚本失败。
以下是我收到的错误消息:
Get-ChildItem : Could not find a part of the path 'C:\Folder\SubFolder\folder1\jpos'.
At C:\Desktop\Script Files\fileCount.ps1:34 char:10
+ $items = Get-ChildItem C:\Folder\SubFolder\ -Recurse
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ReadError: (C:\Folder\SubFolder\folder1\jpos:String) [Get-ChildItem],
DirectoryNotFoundException
+ FullyQualifiedErrorId :
DirIOError,Microsoft.PowerShell.Commands.GetChildItemCommand`
对于没有快捷方式的目录,脚本运行正常,但是当目录中有快捷方式时,它似乎总是失败。
以下是此部分的代码段:
$items = Get-ChildItem C:\Folder\SubFolder -Recurse
$termFolder = ($items | Where-Object {$_.PSIsContainer}).count
有没有办法跳过快捷方式或更好的方法进行文件夹计数?
答案 0 :(得分:0)
(gci path |?{$ _。Extension -ne“.lnk”})。计数
快捷方式有.lnk扩展名,gci表示Get-Childitem。
答案 1 :(得分:0)
只需像这样使用-directory(适用于PowerShell 3或+):
$items = Get-ChildItem C:\Folder\SubFolder -Recurse -Directory
$termFolder = $items.Count
答案 2 :(得分:0)
如果随后在脚本中不需要目录收集文件夹,则只需使用
downgradeModule