所以我的任务是获取便携式硬盘的文件夹和文件名。目前我不确定如何去做,我知道标准的命令提示符方法,但假设有超过一百万个文件分布在一个 TB 硬盘上的大约 20,000 个文件夹中。所以我想知道是否有人可以给我指出一个开始的方向。简而言之,我想要做的是执行一个 .bat 文件,它将创建一个以目录为标题的文本文件,然后将该文件夹中的所有文件列在该目录名下,但如果可能的话,让这个循环遍历整个硬盘?或者如果有人知道是否有更好的方法来做到这一点,只是寻找一个开始的方向。C
:/test/folder Alpha
filename112.text
filename221.tif
filename331.gif
C:/test/folder Bravo
文件名1.文本
文件名2.tif
文件名3.gif
C:/test/Folder Charlie
filename112.png
filename221.aspx
filename331.jpeg
答案1
电源外壳
$LastDirectory = ""
Get-ChildItem -Recurse | ForEach {
if ($LastDirectory -ne $_.DirectoryName) {
$LastDirectory = $_.DirectoryName
Write "`n"
Write $_.DirectoryName
}
Write $_.Name
} | Out-File foundFiles.txt
您可以通过移除该位在屏幕上看到它| Out-File foundFiles.txt
。
答案2
我知道这不符合您预期的输出格式,但更简单的方法是:
dir /s /b /a | sort > files.txt
输出将如下所示:
C:\test\folder Alpha\
C:\test\folder Alpha\filename112.text
C:\test\folder Alpha\filename221.tif
C:\test\folder Alpha\filename331.gif
C:\test\folder Bravo\
C:\test\folder Bravo\filename1.text
C:\test\folder Bravo\filename2.tif
C:\test\folder Bravo\filename3.gif
C:\test\folder Charlie\
C:\test\Folder Charlie\filename112.png
C:\test\Folder Charlie\filename221.aspx
C:\test\Folder Charlie\filename331.jpeg