仅显示文件名和文件大小的窗口dos

时间:2013-09-15 18:41:36

标签: windows dir

这听起来很容易,我只是想列出目录中的文件列表及其大小。我尝试了一堆选项dir / help,但似乎无法做到正确。你能帮帮忙吗?我也环顾四周,但我找到的只是指向 尺寸。

       I want the out put to look like this

       a.txt  21
       b.txt  72
       3.txt  73

提前感谢你

1 个答案:

答案 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变量值都会损坏。