2013-09-15 2 views
2

Это может показаться вам легким, я просто пытаюсь перечислить список файлов в каталоге и их размер. Я попробовал кучу опций dir/help, но, похоже, не в состоянии понять это правильно. Вы можете помочь? Я также огляделся, но все, что я нахожу, это ссылка на diretory .Показывать только имя файла и размер файла windows dos

 I want the out put to look like this 

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

Благодарим Вас заранее

ответ

6

Из командной строки:

for %F in (*) do @echo %F  %~zF 

удвоиться проценты, если они используются в пакетном файле.

@echo off 
for %%F in (*) do echo %%F  %%~zF 

Для фиксированной ширины, это, вероятно, лучше, чтобы перечислить размер первого, так, что ширина не настолько сильно различаться. Двенадцати цифр почти достаточно для 1 терабайта. Длина имени файла может сильно различаться.

Вот пакетный скрипт листинга размера в байтах (до 12 цифр), а затем по имени файла:

@echo off 
setlocal disableDelayedExpansion 

for %%F in (*) do (
    set "name=%%F" 
    set "size=   %%~ZF" 
    setlocal enableDelayedExpansion 
    echo !size:~-12! !name! 
    endlocal 
) 

переключения замедленного расширения, чтобы предотвратить искажение имени файла, если он содержит ! персонаж. Любое значение переменной FOR повреждается, если включено замедленное расширение, и значение содержит !.

+0

Привет, спасибо. Я вижу, что это работает. Есть ли способ исправить интервал, чтобы имя файла и размер файла упали аккуратно под одним столбцом? –

+0

@mattbeyond - см. Мой обновленный ответ – dbenham