23

Visual Studioプロジェクトのビルド後のイベントでファイルをコピーする簡単な方法はありますが、ファイルが存在する場合に限りますか?(つまり、ファイルが存在しない場合でもビルドに失敗しないでください)

xcopyを使用していくつかのオプションを試しました。しかし、私はとても愚かだと感じています。xcopyで必要になる可能性のあるスイッチについて頭を悩ませているようには見えません。

4

3 に答える 3

37

「IF」コマンドを使用します。

IF EXIST file.txt xcopy file.txt [destination_folder]\ /Y
于 2012-07-10T21:55:04.047 に答える
8

また、IF EXISTはありませんが、XCOPYの/Uオプションを使用します

xcopy source_file_name dest_folder /u /y
于 2012-07-10T21:57:50.673 に答える
2

プロパティパネル(プロジェクトファイルを右クリックして[プロパティ]を選択するとVisual Studioによって提供されます)の[出力ディレクトリにコピー]を使用する場合は、少しテキストを編集するだけで使用できます。これは、MSBuildを使用するすべてのバージョンのVisual Studio(つまり、Visual Studio 2010以降)で機能します。

まず、「出力ディレクトリにコピー」に適切な値を選択します。たとえば、「常にコピー」や「新しい場合はコピー」などです。プロジェクトへの変更を保存します(たとえば、[ファイル]メニューの[すべて保存])。

次に、テキストエディタでプロジェクトファイルを編集し、新しく追加された<CopyToOutputDirectory>要素の開始タグ内に、のような属性を追加しますCondition="Exists('$(MSBuildProjectDirectory)\FILENAME')"。ここで、FILENAMEはコピーされるファイルのパスです(つまり、親要素で参照されます)。

GUIは、将来この設定を適切に編集しません(つまり、ファイルが存在しない場合、値として「コピーしない」と表示されます)が、少なくとも機能します。

于 2021-01-15T22:27:59.157 に答える