1

私は2つのスクリプトを持っています。最初のスクリプトは、ユーザーに何らかの入力を求め、別のスクリプトを呼び出して入力をパラメーターとして渡します。2 番目のスクリプトは、ユーザーに同じ入力を求めています。

最初のバット

set /p input=Insert your input:
call second.bat %input%

セカンドバット

if %1 == "Y" input=%1 & goto skipInput
set /p input=Insert the same input:

:skipInput
echo Skipped user input

ユーザーが同じ入力値を押さずに、最初の入力値で 2 番目のユーザー入力を設定することは可能ですか? 問題は、上の例のようset /psecond.batをスキップできないことです。

更新されたソリューション:

最初のバット

set /p input=Insert your input:
echo %input% | (cd path/to/file & second.bat)
echo %input% | (cd path/to/file & second.bat)
pause >nul
4

2 に答える 2

2

あなたが何をしようとしているのかは100%わかりませんが、おそらくこれ

ファーストバット

set /p input=Insert your input:
call second.bat %input%

セカンドバット

if %1=="Y" set input=%1

これにより、2 番目のスクリプトの変数が最初のスクリプトinputの値に設定されます。input

アップデート

他のバッチを呼び出す最初のバッチにしかアクセスできない場合は、これを試してください

@echo off
set /p input=Insert your input:
echo %input%| second.bat
pause >nul

set /pそれを実行した後、パイプリダイレクトを使用して入力する行がある2番目のバッチでプロンプトを取得することができました。

于 2012-07-13T08:33:26.213 に答える