这听起来很容易,我只是想列出目录中的文件列表及其大小。我尝试了一堆选项dir / help,但似乎无法做到正确。你能帮帮忙吗?我也环顾四周,但我找到的只是指向 尺寸。
I want the out put to look like this
a.txt 21
b.txt 72
3.txt 73
提前感谢你
答案 0 :(得分:8)
从命令行:
for %F in (*) do @echo %F %~zF
如果在批处理文件中使用,则加倍百分比。
@echo off
for %%F in (*) do echo %%F %%~zF
对于固定宽度,最好先列出尺寸,因为宽度不会变化太大。 12个数字几乎足以容纳1TB。文件名长度可能会有很大差异。
这是一个批处理脚本,列出大小(以字节为单位)(最多12位),后跟文件名:
@echo off
setlocal disableDelayedExpansion
for %%F in (*) do (
set "name=%%F"
set "size= %%~ZF"
setlocal enableDelayedExpansion
echo !size:~-12! !name!
endlocal
)
延迟扩展的切换是为了防止文件名包含!
字符时损坏。如果启用了延迟扩展且值包含!
,则任何FOR变量值都会损坏。