Перенаправление выходного файла в пакетном режиме
Я пытаюсь создать пакетный файл, чтобы пройти через папку и вывести все размеры файлов каждого файла в указанной папке в.txt
Пока у меня есть следующее:
@echo off
setlocal
set size=
FOR /R (F:\mediav3) %%A IN (*) DO set size=%%~zA
У меня проблемы с фактическим выходом. Я пытался использовать эхо%size% > temp.txt
и несколько других вариантов. На основе других выходных перенаправляет сообщения, которые я нашел здесь, но не смог найти рабочее решение. Любая помощь будет принята с благодарностью.
2 ответа
Это работает
@echo off
setlocal enabledelayedexpansion
for /r F:\mediav3 %%a in (*) do (
set size=%%~za
echo !size! >>C:\sizes.txt
)
Для тех, кто заинтересован, мой окончательный пакетный файл выглядит следующим образом:
@echo off
setlocal
echo ^<fileinfo^>
FOR /R F:\MEDIAV3 %%A IN (*) DO echo ^<filename^>%%~fA^</filename^>>>fileinfo.xml & echo ^<bytes^>%%~zA^</bytes^>>>fileinfo.xml & echo.>>fileinfo.xml
echo ^</fileinfo^>>>fileinfo.xml
Пакетный вывод отформатирован так, чтобы легко преобразовывать имена файлов и размеры файлов в список xml. Вероятно, есть более чистый способ сделать это, но это, безусловно, сработало.