У меня есть пакетный скрипт (app1.bat), вызывающий другой пакетный скрипт (app2.bat), который сам вызывает программу в windows (program.exe).
app2.bat вызывает program.exe с параметром после флага следующим образом:
program.exe -f Parameter with whitespaces coming into the program
Я хочу передать фразу app.exe из app1.bat в app2.bat, но я не знаю, как правильно обрабатывать двойные кавычки.В настоящее время я передаю фразу из app1.bat в app2.bat в двойных кавычках, а внутри app2.bat (до выполнения program.exe) я избавляюсь от таких кавычек:
внутри app1.bat
call app2.bat "Parameter with whitespaces coming into the program"
внутри app2.bat
set old_phrase=%1%
set new_phrase=%old_phrase:"=%
program.exe -f %new_phrase%
старая_фраза равна
"Parameter with whitespaces coming into the program"
, а новая_фраза, которой я заканчиваю, равна
Parameter with whitespaces coming into the program
естьесть какой-либо стандартный способ справиться с такой ситуацией (передача строки во внешнюю программу, которая ожидает строку без кавычек, и в порядке с пробелами, тогда как пакетная обработка не допускает строки без кавычек и пробелов)