我想我们都知道PsIsContainer方法来检查当前文件是否是文件夹。但在我的项目中,我需要一种方法来快速了解文件夹中的文件夹数量。我只需要快速获得他们的号码。我想写一个看起来像C:\folder;12
的.txt行。这意味着在文件夹中,使用-recurse参数,将有12个文件夹。
为了解释原因,当我切断用于分析某些文件夹的程序时,我需要保存我的工作进度。分析文件夹时,结果将写入第二个.txt。例如,如果文件夹名为C:\ folder \ folder1,则将分析文件夹,然后文件夹也将被分析。这使文件夹在文件中出现2次,因为始终写入全名。我想要做的是计算写入C:\文件夹的行数。如果它等于第一个.txt中的下一个数字路径,则表示该文件已经被分析,并且该函数不需要再次执行。
有人有解决方案吗?或者可能是另一个保存进度的想法?因为我真的觉得这样做太长了。
感谢您的帮助。
答案 0 :(得分:1)
我发现更快的另一种方法是使用cmd内置'dir'命令 当然这是为了你不需要子文件夹(然后你可以在foreach循环中运行函数,或者如果是这样的话就改变函数)
Function Get-FolderCount($path)
{
$Dir = cmd /c dir $path /a:d
Return ($Dir[-1] -csplit 'Dir' -replace '\s')[0]
}
我使用它也可以用/ s开关测量文件夹大小,并且使用比PowerShell快得多的总大小,也比在交互式shell上运行它快得多......