前提・実現したいこと
一つ目のウィンドウに入力した変数を二つ目のウィンドウ(実際には表示されない)に渡したいです(想定している具体的な結果は後述)。
現状、a.batとb.vbsの二つのファイルを使って下記のように書いています。
- a.bat
set /p hoge="hoge?" b.vbs
- b.vbs
Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c echo %hoge%&&pause", vbhide
ただ、このように簡単な処理のために二つのファイル使うのは冗長なので、可能ならば一つのvbsにまとめたいです。
- c.vbs
Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c set /p hoge=""hoge?""&&c.vbs" ws.run "cmd /c echo %hoge%&&pause", vbhide
当然ですが、c.vbsを実行すると一回目の3行目の処理は2行目の処理を待たずに実行されてしまう上に、2行目の処理は何らかの値を入力する限り何度でも実行されてしまいます。
要するに、c.vbsの二行目の処理は一回目の呼び出しのときのみ、三行目の処理は二回目以降の呼び出しのみにすれば良いことは分かっているのですが…どのように書けば良いか、お知恵を拝借したく存じます。
何卒よろしくお願い申し上げます。
想定している挙動
- 一つ目のウィンドウ
hoge?piyo
- 二つ目のウィンドウ(一つ目のウィンドウの入力を待ってから開く)
piyo
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/11 00:30 編集