Изменение строки в файле cfg с помощью командного файла - PullRequest
0 голосов
/ 27 июня 2018

Я в Windows, пытаюсь использовать следующий командный файл:

@echo off &setlocal
set "search=false); // disable U"
set "replace=true); // disable U"
set "textfile=C:\Program Files (x86)\Mozilla Firefox\mozilla.cfg"
call jrepl.bat "%search%" "%replace%" /f "%textfile%" /o -
pause

чтобы изменить строку в конфигурационном файле. Когда я запускаю файл, он говорит

'jrepl.bat' is not recognized as an internal or external command.

И мой командный файл, и jrepl.bat сохраняются на рабочем столе. Как я могу получить свою партию, чтобы найти jrepl?

1 Ответ

0 голосов
/ 28 июня 2018

Используйте этот код пакетного файла для работы независимо от того, какой каталог является текущим при выполнении пакетного файла:

@echo off
if not exist "%~dp0jrepl.bat" goto :EOF
if not exist "%ProgramFiles(x86)%\Mozilla Firefox\mozilla.cfg" goto :EOF

call "%~dp0jrepl.bat" "search=false\); // disable U" "search=true); // disable U" /F "%ProgramFiles(x86)%\Mozilla Firefox\mozilla.cfg" /O -

См. Ответ на Как запустить команду дерева из текущего каталога? и ответы, на которые есть ссылки, чтобы узнать, почему jrepl.bat не был найден процессором команд Windows при запуске командного файла от имени администратора для получения доступа на запись к файлу в папке программных файлов Mozilla Firefox.

) имеет специальное значение в регулярном выражении строка поиска . Его необходимо экранировать обратной косой чертой, чтобы интерпретировать его как буквальный символ в строке поиска. ) не не имеет специального значения в регулярном выражении заменить строку , поэтому нет необходимости экранировать его в строке замены.

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