Почему я получаю «Недопустимое использование оператора пути в подстановке пакетных параметров:% ~ fA»? - PullRequest
0 голосов
/ 21 сентября 2019

Когда я запускаю свой пакетный файл, который содержит:

@echo off
for /f "tokens=*" %%A in ('dir %temp% /b /a-d') do (
    echo File Name : %%A, In Folder : %~fA
    )

Я получаю сообщение об ошибке:

C:\Users\Dell User\Desktop>filename.bat
The following usage of the path operator in batch-parameter
substitution is invalid: %~fA


For valid formats type CALL /? or FOR /?
The syntax of the command is incorrect.

Почему я получаю эту ошибку и как ее исправить?

1 Ответ

0 голосов
/ 21 сентября 2019

Циклы for отличаются от просто запуска команд, так как знак% означает что-то еще в цикле for, поэтому вам всегда нужно экранировать его с другим знаком%.Ваш код прямо сейчас говорит cmd, что весь текст после% ~ fA является переменной.Если вы хотите использовать переменную в ней, всегда закрывайте ее другой, например%% ~ fA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...