0
正常に実行するためのフラグが必要な他のバッチスクリプトを呼び出す必要があるバッチスクリプトがあります。バッチファイル内のフラグを使用してバッチファイルを呼び出す方法
:adobe_install
echo 1. Adobe Reader & echo 2. Adobe Flash Player & echo 3. Adobe Acrobat
set /p choice="What would you like to install[1-3]: "
if %choice%==1 call "%adobe_path%\adobe.bat"
rem if %choice%==2 call "%cd%\scripts/Adobe/adobe.bat /f"
rem if %choice%==3 call "%cd%\scripts/Adobe/adobe.bat /a"
日干しバッチスクリプトが正常に実行するためのフラグを必要とし、次のフラグのいずれかが与えられなければならない:/a,
、/r
、/f
はどのようにして、バッチスクリプト内でバッチスクリプトとフラグを実行することができます?私が試した何
:
if %choice%==1 call "%adobe_path%\adobe.bat"
# this works but only outputs the help menu of the script
if %choice%==1 call "%adobe_path%\adobe.bat /r"
# this will output "the syntax of the command is incorrect"
cd "%adobe_path%\scripts\Adobe"
if %choice%==1 call "\.adobe /r"
# same as above
if %choice%==1 start "%adobe_path%\adobe /r"
# launches another cmd and won't run the script
%adobe_path%\ adobe.bat "/ r'を呼び出すのはなぜですか? 'call'は単一のトークンに限定されません。引用符の目的は、変数にスペースが含まれている場合に、 '%adobe_path%\ adobe.bat'を単一トークンとして評価させることです。しかし、 '/ r'は2番目のトークンになり、' adobe.bat'の最初の引数として渡されます。 – rojo
@rojoうん、私は馬鹿だよ。君たちありがとう – 13aal