私はNMakeBuildCommandLineセクションに明示的なWindowsのシェルコマンドが含まれているvcxprojファイルを持っていますまたはslnファイルを介して。問題はfile1
が存在しない場合、出力は非常に助けにならないでも、ファイルの名前が表示されないということです。コードの再利用
if exist file1 (move file1 file2) else (echo file1 does not exist && exit 1)
(注:
The system cannot find the file specified.
私の素朴な解決策は、とmove file1 file2
を交換することです
これはうまくいきますが、私はfile1
を1行に3回入力してすべて一致する必要があるため、エラーが発生しやすいです。 file1
は、移動する必要がある多くのファイルのうちの1つです。さらに、一連のコマンドは、さまざまなビルド構成でほぼ同じです。
コマンドラインとビルド構成の両方で自分自身を繰り返さないようにするにはどうすればよいですか?私はUserMacros
プロパティグループが助けになると思っていましたが、IDE経由でマクロを書く方法を理解できませんでした。 (Visual Studioでプロジェクトを右クリックすると、ユーザーマクロを入力するフィールドが表示されません)また、インターネット上でこのセクションの構文についての議論を見つけることもできないので、マクロを書く方法はわかりませんでした。テキストエディタ(私は実際にそれを好むだろう)。
vcxprojファイル内には、存在する必要があるファイルを識別するためのより良い方法があるかもしれません。そのため、私は任意の選択肢に対応しています。
のプロパティを使用する方法を見上げて起動するのがベスト:最後のステップは、この目標は、ファイル自体にMSBuildのを呼び出し、ターゲットを実行するように指示するだけで行われているのnmakeコマンドラインから起動得ることですmsbuild。テキストエディタでvcxprojを開き、パス/ to /ファイル をPropertyGroupに追加し、 'if exist $(file1)...'を使用しますか? –
stijn
@stijn、それは私が探していた情報です。できます。あなたがそれを答えにするなら、私はそれをアップヴォートし、(何か良いものがなければ)それを選択します。ありがとう! – Alan