2015-12-12 6 views
-1

У меня есть команда, которая отображает текущее имя командного файла, к которому добавлен код.escape специальный символ (%)

echo %~n0%~x0 

Я хочу отправить команду в текстовый файл без изменения его синтаксиса. например;

echo %~n0%~x0 >> somefile.txt 

Я попытался ускользнуть от знака процента с другим процентом, но он не работает.

echo %%~n0%%~x0 

любые идеи ...?

+3

Как 'эхо %% ~ n0 %% ~ x0' работает в пакетном файле как и ожидалось (выдает '% ~ n0% ~ x0'), вы должны показать свой файл _minimal_ batch, где он терпит неудачу. Или, по крайней мере, какой результат вы получите – jeb

ответ

1

Попробуйте карету вместо %% как этот ^% вам также может понадобиться избежать побега (я знаю странно и почему .. но .. вы могли бы).

Использование CARET ^ Работало для меня.

echo ^%%~n0^%%~x0 >> somefile.txt 

этот код будет производить имя файла пакетного эхо ^% ~ n0 ^% ~ x0 >> somefile.txt

+1

Карет работает только в командной строке; в пакетных файлах вам обычно нужно удвоить знак '%' ... – aschipfl

+0

@aschipfl вот мой код в пакетном файле, он работает для меня echo^%% ~ n0^%% ~ x0 >> somefile.txt – Ken

+1

You может использовать каретку, но она работает одинаково без каретки. – jeb

Смежные вопросы