- 締切済み
バッチで自動的にディレクトリを作成するには。。
お疲れ様です。 質問なのですが、 サブバッチ(mkdir.bat)で set dwh=%1 set zensha=%2 とセットし、作業がこの先続くのですが、 メインバッチ(callmkdir.bat)のほうで、サブバッチを呼ぶ時に手動での変数(%1と%2に)の値を入力させるにはどうすればいいのでしょうか? メインのほうに、値を書いておく方法しかわからないので、値を入力すれば済むようにしておきたいのです。 promptを使うのかなって思うのですが、使い方がよくわかりません。 初心者なので質問がうまくなくて、すみません。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- pita-gora
- ベストアンサー率70% (102/145)
>追加で、DDD 4444というパラメータを渡したい時に、 >追加でcall分を書くのではなくて、(call sub.bat DDD 4444を書くのでは >なく)パラメータだけを >入力すればいいバッチにしたいのです。 No.2のかたのリンク先にあるようにメインの方のバッチで set /p を使えば >dwhとzenshaを入力してください。のような感じにしたいです。 という目的はクリアできますが、 set /p dwh=dwhを入力してください: set /p zensha=zenshaを入力してください: とメインバッチに追加する手間で call sub.bat DDD 4444 って書けちゃいますね。 たとえば、sub.batのほうで set dwh=%1 set zensha=%2 if "%1"=="" set /p dwh=dwhを入力してください: if "%2"=="" set /p zensha=zenshaを入力してください: と書いておけば、メインの方は call sub.bat だけですみます。 ただしこの行は追加する必要があります。(何回sub.batを呼ぶかはしていしなきゃいけない)
補足
ご返答ありがとうございます。 main.batのなかで call sub.bat dwh zensya と記述すれば、sub.batのほうで、dwh zenshaという引数を受け取って、作業は行われます。 最初の時はそれで、すべて記述して作ったのですが、 次回から、新規に追加する場合に、 そのdwh zenshaをプロンプトで入力できるようにしたいんです。 例えば、最初は、call sub.bat AAA 1111 call sub.bat BBB 2222 call sub.bat CCC 3333 という引数を渡して、作成しました。 sub.batのほうで、set dwh=%1 set zensha=%2 とセットしているので、%dwh% %zensha%にそれぞれが 渡されますよね。 追加で、DDD 4444というパラメータを渡したい時に、 追加でcall分を書くのではなくて、(call sub.bat DDD 4444を書くのではなく)パラメータだけを 入力すればいいバッチにしたいのです。 dwhとzenshaを入力してください。のような感じにしたいです。 わかりにくかったり、変に難しく考えてしまっているのかもしれません。。 わかりましたら、ご返答お願いいたします。