![]() |
Список файлов + размер
Доброго времени суток. Необходимо сделать список файлов с определённым расширением в директории, а также размеры файлов с выводом всего этого дела в текстовый файл. То есть вида:
564 1.log 36 2.log 89 3.log на данный момент имею такое: forfiles /P D:\ /M *.log /C "cmd /Q /C for %%1 in (@fsize@file) do echo %%~1">D:\2.log вот только проблема - выводит с кавычками в виде: 148"1.log" 0"2.log" Как избавиться от кавычек и между размером и именем файла поставить пробел? |
Voidstranger, Вас не смущает, что в именах файлов могут тоже оказаться пробелы?
Код:
for %i in ("d:\*.log") do @echo %~zi %~nxi P.S. Вывод в файл с тем же расширением и в тот же каталог, что используется при подсчёте, не есть хорошо и правильно. |
Спасибо большое, всё получилось.
И если можно ещё один вопрос. Можно ли как-то из результата команды dir для ftp.exe убрать даты? Пример, dir выводит в тектовый файл список файлов на фтп в виде: 2177416428 Nov 26 22:10 20171127.7z 2182467820 Nov 27 22:08 20171128.7z 2187403500 Nov 28 22:08 20171129.7z 2189732588 Nov 29 22:07 20171130.7z Нужно удалить в этом текстовом файле даты: 2177416428 20171127.7z 2182467820 20171128.7z 2187403500 20171129.7z 2189732588 20171130.7z То есть условие что-то вроде "текст от первого до последнего пробела в строке заменить на пробел". |
Цитата:
Чтобы список читался лучше, размеры файлов лучше выровнять по ширине
Код:
@Echo Off |
Код:
>"Result.txt" (for /f "usebackq tokens=1,4*" %i in ("тектовый файл.txt") do @echo %i %k) |
Код:
for /f "tokens=1-2 delims=;" %%A in ('forfiles /m d:\*.log /c "cmd /c echo @file;@fsize"') do echo %%B %%~A |
Ещё раз спасибо всем отписавшимся!
|
Время: 12:47. |
Время: 12:47.
© OSzone.net 2001-