Почему этот скрипт работает из командной строки, но не работает, когда я помещаю его в пакетный файл Windows?

Почему этот скрипт работает из командной строки, но не работает, когда я помещаю его в пакетный файл Windows?

Вот скрипт, который я могу запустить из командной строки:

(for /r %i in (*) do @echo %~fsi) | clip

Но внутри пакетного файла я получаю синтаксическую ошибку из-за неожиданных скобок....

) was unexpected at this time.

(for /r ~fsi) | clip

решение1

Попробуйте это в пакетном режиме:

@Echo Off
(for /r %%i in (*) do echo %%~fsi) | clip

При запуске пакетных файлов необходимо удваивать знаки %.

Связанный контент