仅在命令行中列出具有路径和文件大小的文件

use*_*965 8 windows powershell filenames command-line command-prompt

Windows命令行(或PowerShell)。

如何以递归方式列出所有文件,并具有完整路径和文件大小,但没有其他内容,并导出到.txt文件。最好是使用命令行在我当前所在目录中都有效的代码(因此不需要手动输入目标目录)。

这些都不提供路径\文件名和仅文件大小:

dir /s > filelist.txt
dir /s/b > filelist.txt
dir /s/o:-d > filelist.txt
Run Code Online (Sandbox Code Playgroud)

所需的输出(fullpath \ file.ext文件大小):

c:\aaa\file.ext 7755777    
c:\aaa\bbb\1.txt 897667
c:\aaa\bbb\2.ext 67788990
c:\aaa\bbb\nnn\a.xls 99879000
Run Code Online (Sandbox Code Playgroud)

小智 7

电源外壳:

gci -rec -file|%{"$($_.Fullname) $($_.Length)"} >filelist.txt
Run Code Online (Sandbox Code Playgroud)

较早的 PowerShell 版本:

gci -rec|?{!$_.PSIsContainer}|%{"$($_.Fullname) $($_.Length)"} >filelist.txt
Run Code Online (Sandbox Code Playgroud)

批处理文件:

(@For /F "Delims=" %%A in ('dir /B/S/A-D') Do @Echo %%~fA %%~zA) >filelist.txt
Run Code Online (Sandbox Code Playgroud)

命令行

(@For /F "Delims=" %A in ('dir /B/S/A-D') Do @Echo %~fA %~zA) >filelist.txt
Run Code Online (Sandbox Code Playgroud)


Err*_*ode 6

OP 使用 PowerShell 选择的答案(以及他们使用的评论Get-ChildItem -Recurse | select Length,LastWriteTime,FullName | Format-Table -Wrap -AutoSize | Out-File filelist.txt)几乎是我想要在 Excel 中处理的答案。谢谢那部分。

不幸的是,(正如他们提到的)输出对长文件路径进行了换行,这并不是我想要的。

以下命令将生成 CSV 格式的文件(无换行):

Get-ChildItem -Recurse | select Length,LastWriteTime,FullName | Export-Csv -path filelist.csv -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)

感谢/sf/answers/1640412021/的提示Export-Csv


Dan*_*ans 5

Get-ChildItem -Recurse | select FullName,Length | Format-Table -HideTableHeaders | Out-File filelist.txt
Run Code Online (Sandbox Code Playgroud)

  • 这没有列出我在 Win 10 上的大小 (2认同)