[英]Index all files and folders under E:\data using batch file
我想编写一个批处理脚本,该脚本将创建一个CSV或JSON文件,其中包含E:\\ data下的所有文件和文件夹。 我需要存储的信息是(文件或文件夹的名称,大小,类型-文件或文件夹,完整的位置路径)。
任何帮助将不胜感激。 谢谢。
PowerShell可以轻松做到这一点。 必须添加一些子表达式以提供友好的术语,例如它是文件夹还是文件。 否则,我们可以摆脱整个@{l=...}
位,而只需使用PSIsContainer,则声明是否为文件夹将为True / False。
Get-ChildItem E:\Data -recurse | Select Name,Length,@{l='Type';e={if($_.PSIsContainer){'Folder'}else{'File'}}},FullName | Export-CSV C:\Path\To\Output.csv -NoType
或者,如果您想找出文件夹(包括文件夹中的文件)的文件夹大小,可以运行以下命令:
| Select Name,@{l='Size';e={if($_.psiscontainer){$_.getfilesysteminfos()|measure -Sum -Property length|select -expand sum}else{$_.length}}},@{l='Type';e={if($_.PSIsContainer){'Folder'}else{'File'}}},FullName | Export-CSV C:\Path\To\Output.csv -NoType
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.