robocopy
commandがxcopy
が行うよりも、よりインテリジェントな除外機能(スイッチ/XD
と/XF
)を提供していますあなたの仕事に使うことができる:
それは
xcopy
コマンドのものと非常に似ているように
/N
ならびに
/FP
スイッチ始まるの
robocopy "C:\WebService" "%InstallFolder%" "*.*" /XD "*.config" "Properties" "Obj" /XF "*Proxy.dll" /E /S /FP /NJH /NJS /NS /NC /NDL /NP /LOG+:"Setup.log"
すべてのスイッチは、ログに記録出力の外観を制御します。あなたがxcopy
の/EXCLUDE
オプションを主張した場合
:これはのみ*
または?
が、リテラル(大文字と小文字を区別しない)文字列のようにワイルドカードをサポートしていません。ただし、事前に*Proxy.dll
でワイルドカードを解決できます。 ...あなたは、次の内容のファイルXcopyExclude.txt
を持って考える:
.config\
\Properties\
\Obj\
...(と仮定すると、これらすべての項目があること(部分)ディレクトリ名)、あなたは一時的にこのコンテンツをコピーすることができファイルと実際のコピーの活動の前に、解決*Proxy.dll
一部を追加:ソースディレクトリツリーにAnyProxy.dll
というファイルがあると仮定すると
rem // Prepare exclusion list file:
copy /Y "XcopyExclude.txt" "XcopyExclude.tmp"
>> "XcopyExclude.tmp" (
for /R "C:\WebService" %%E in ("*Proxy.dll") do (
echo(\%%~nxE
)
)
rem // Perform copying action:
xcopy "C:\WebService" "%InstallFolder%" /E /S /K /R /H /Y /I /EXCLUDE:XcopyExclude.tmp >> "Setup.log"
rem // Clean up temporary list file:
del "XcopyExclude.tmp"
、ファイルXcopyExclude.tmp
のための関連エントリは0になります。 AnyProxy.dll.any
という項目も誤って除外されることに注意してください。
'Robocopy'コマンド、/ XF'(除外ファイル)スイッチ –
あなたの質問を編集し、[mcve]を満たすためのあなたの(失敗した)試みを共有してください。 – JosefZ