28

VisualStudioソリューションには多くのWebアプリケーションがあります。

すべて同じポストビルドコマンドがあります:

xcopy "$(TargetDir)*.dll" "D:\Project\bin" /i /d /y

新しいファイルを古いファイルに置き換えないようにすると便利です(たとえば、誰かが誤って古いバージョンのDLLへの参照を追加する可能性があります)。

xcopyを使用して、古いファイルをVisual Studioによって生成された新しいDLLファイルのみに置き換えるにはどうすればよいですか?

4

3 に答える 3

31

コマンドラインで「helpxcopy」と入力すると、次のようになります。

/D:m-d-y     Copies files changed on or after the specified date.
             If no date is given, copies only those files whose
             source time is newer than the destination time.

したがって、すでにxcopyを使用して、古いファイルを新しいファイルに置き換えるだけです。それが起こらない場合は、/i/dスイッチの位置を入れ替える必要があるかもしれません。

于 2011-07-13T20:25:15.100 に答える
3

コマンドに従って、すべての新規および変更されたファイルをソースから宛先にコピーするユーザー

xcopy c:\ source d:\ destination / D / I / E / Y

/ Dは、変更されたファイルが存在するかどうかを確認します。/
I宛先が存在せず、複数のファイルをコピーする場合、宛先はディレクトリである必要があると想定します。
/Eディレクトリおよびサブディレクトリをコピーする
/Yで、上書きプロンプトを抑制します。

于 2020-01-07T08:30:17.337 に答える
1

テストされていませんが、これらの種類のタスクには同様のコマンドスクリプトを使用しています。

set DIR_DEST=D:\Project\bin
pushd "$(TargetDir)"

::
:: Move Files matching pattern and delete them
::
for %%g in (*.dll) do (xcopy "%%g" "%DIR_DEST%" /D /Y & del "%%g")

::
:: Move Files matching pattern
::
:: for %%g in (*.dll) do (xcopy "%%g" "%DIR_DEST%" /D /Y )

popd
于 2012-08-28T14:25:05.060 に答える