2016-10-20 1 views
0

ファイルではなく、ネットワークドライブから最新のファイルをローカルマシンにコピーするバッチファイルを作成する必要があります。ネットワークドライブからローカルに最新のタイムスタンプ付きFOLDERをコピーする

これは私が持っているものですが、ファイルではなくフォルダをコピーしたいのでコピーするものが見つかりません。

for /f "delims=" %%a in ('dir S:\Development\NightlyBuilds /B /A-D /O-D') do copy "%%a" U:\PWJ 

答えて

0

代わりのcopy、あなたはxcopyを使用することができます。再帰的にコピーするには、/sフラグを使用します。宛先がフォルダであることを示すには、\でPWJフォルダを終了してください。また、robocopyを使用することもできます。それははるかに堅牢です。そのパラメータはrobocopy /?で調べることができます。

0

FORとDIRコマンドに間違ったオプションを使用していました。最新のものから古いものまですべてのファイルのコピーを実行していました。

@ECHO OFF 

(SET SrcDir=S:\Development\NightlyBuilds) 
(SET DstDir=U:\PWJ) 

IF NOT EXIST "%SrcDir%\" EXIT/B 
IF NOT EXIST "U:\PWJ\" EXIT/B 
IF /I NOT "%CD%"=="%SrcDir%" PushD "%SrcDir%" 

FOR /F "DELIMS=" %%A IN ('DIR/B/AD-L/OD *') DO SET Latest="%%A" 
ROBOCOPY %Latest% "%DstDir%\%Latest%" /E 

EXIT/B 
関連する問題