Откуда вы берете имя папки?Если вы получите его из аргумента командной строки, то измените
set A=%1
на
set A=%~1
, который удаляет кавычки, если они есть.
Если вы 'читая от пользователя через set /p
, затем используйте
set /P A=Folder?
for %%x in (%A%) do set A=%%~x
, который делает то же самое.
Как правило, если вы получаете значение откуда-то, где для переменных используется только один процент(например, аргументы или циклы for
), затем просто используйте там ~
.
Вы также хотите заключить аргумент в свой цикл for
в кавычки, чтобы имена папок с пробелами не делалисьНе вызывает неприятных сюрпризов:
FOR /F "usebackq delims=, skip=4" %%I IN ("%A%\A.txt") DO ECHO %%I