2012-02-14 18 views
1

以下の行をcmdウィンドウにコピー&ペーストすると問題なく実行されます。私はDoStuff.batとして保存するときバットスクリプトは最初の行だけを実行しますか?

"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat" 
msbuild proj\projsln /p:Configuration=Debug 
proj\proj\bin\Debug\proj.exe my args 

は、しかし、私はその後、何もない(実行VCVARS32.BATからのテキストである)以下のメッセージが表示されます。私のプロジェクトはビルドされず、新しくビルドされた実行可能ファイルは実行されません。

どうして私は3つのコマンドをすべて実行するのですか?

>"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat" 
Setting environment for using Microsoft Visual Studio 2010 x86 tools. 
+1

[このWindowsバッチファイルの最初の行だけが実行されますが、3行すべてがコマンドシェルで実行されるのはなぜですか?](http://stackoverflow.com/questions/4036754/why-does-only-the -first-line-of-this-windows-batch-file-execute-but-all-three-li) – user

答えて

9

CALLを使用して別のバッチファイルを呼び出します。

+0

うん、そうだった。ありがとうございます(私は受け入れるのを待っています) –

+1

混乱している人にとっては、この場合に必要なのは、スクリプトが別のスクリプトを呼び出すためです。 'call'コマンドは、2番目のスクリプトが完了したときに元のスクリプトを実行し続ける必要があることをウィンドウに伝えるために必要です。'親バッチプログラムを停止せずに別のバッチプログラムを呼び出す ' – lightswitch05

0

さて、それが継続していない理由があるはずです。コマンドが入力を待っているのでしょうか?それは私が考えることができるすべてです。バッチファイルの出力をログにリダイレクトして、何が起こっているのかを確認してください。

また、バッチファイルを別々のバッチファイルに分割し、バッチファイルを呼び出す前にCALLを入力します。

+0

私は@vulkaninoが既に解決策を与えているのを見ている。 – Frankline

関連する問題