繁体   English   中英

使用批处理文件索引E:\\ data下的所有文件和文件夹

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM