Неможливо виконати цикл FOR з пакетного файла


0

Я намагаюся виконати таку команду з внутрішнього файлу:

@echo off & for /f "delims=*" %A in ('dir /s /b') do echo %~fA %~zA >> "\path\to\output.txt"

Я знайшов цю команду з іншого потоку . Він видає весь список файлів разом з розміром файлу.

Я в змозі виконати це чудово під час вставки у вікно командного рядка, але коли я кидаю його у пакетний файл, нічого не відбувається. Я щось пропускаю? Чому це не вдалося виконати з .bat?

Відповіді:


1

Спробуйте, %% наприклад for %%f , ніж for %fце могло б працювати. У пакетних файлах ви повинні використовувати, for %%fа не for %f The for %fлише для командного рядка. Змінюйте всі посилання, тому я вважаю, %%~zAа не ніж%~zA

Ви дійсно мали б вирішити проблеми та спробувати навіть простий цикл, як for %a in (*.*) do @ECHO %aви тоді зрозуміли, що він також працює в командному рядку, а не в пакетному файлі, і, можливо, ви дізналися б про вимогу %%.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.