コマンド ラインで、「ディレクトリ A のすべてのファイルをディレクトリ B にコピーしますが、ファイルがすでにディレクトリ B に存在する場合は、どちらのファイルが新しいかに関係なく上書きせず、プロンプトも表示しません」と指示する方法が見つからないようです。
私はコピー、移動、xcopy、robocopy を試しましたが、私ができる最も近い方法は、robocopy に「A を B にコピーするが、新しいファイルを古いファイルで上書きしない」と指示することですが、これは私にはうまくいきません。xxcopy も検討しましたが、他の SVN ユーザーがビルドを実行するためにそのツールをインストールする必要がある Visual Studio のビルド後イベントにサードパーティの依存関係を持ちたくないため、破棄しました。
Visual Studio 2010のビルド後イベントにコマンドラインを追加して、T4新しいテンプレートEFモデル オブジェクトは、それが属するプロジェクト フォルダーに配布されますが、既存のオブジェクトの再生成されたファイルは、編集された可能性のある宛先ファイルを上書きしません。
T4 テンプレートは再生成されるため、ソース ファイルは常に新しいものとなり、「新しい」スイッチを確実に使用することはできないと思います。
可能な項目には部分クラスを使用しますが、部分クラスを使用できない生成項目もあります (例: デフォルトの EditorTemplate または DisplayTemplate *.ascx ファイルの生成)。
同様の問題を解決した人はいますか?
ベストアンサー1
ロボコピー、または「堅牢なファイル コピー」は、コマンド ライン ディレクトリ レプリケーション コマンドです。Windows NT 4.0 以降では Windows リソース キットの一部として使用可能で、Windows Vista、Windows 7、および Windows Server 2008 では標準機能として導入されました。
robocopy c:\Sourcepath c:\Destpath /E /XC /XN /XO
詳しく説明すると(Hydrargyrum、HailGallaxar、Andy Schmidt の回答を使用):
/E
Robocopy は空のディレクトリも含めサブディレクトリを再帰的にコピーします。/XC
タイムスタンプが同じだがファイル サイズが異なる既存のファイルを除外します。Robocopy は通常、それらを上書きします。/XN
宛先ディレクトリ内のコピーよりも新しい既存のファイルを除外します。Robocopy は通常、それらを上書きします。/XO
コピー先ディレクトリ内のコピーより古い既存のファイルを除外します。Robocopy は通常、それらのファイルを上書きします。
Changed、Older、および Newer クラスを除外すると、Robocopy はスクリプト環境をロードする必要なく、元の投稿者が望んでいることを正確に実行します。
参考文献:テクネット、ウィキペディア
ダウンロード先:Microsoft ダウンロード リンク (リンクは2016年3月30日に最後に確認されました)