これは、フォルダ同期として単純に新規作成されたファイルだけをコピーしたい時に、使うと便利なバッチファイルです




はじめに
MS-DOS 時代には、REPLACE.EXE なるコマンドがあって、それには、追加されたファイルをコピーする(受け側にないファイルだけをコピーする)というモードがあったけど、そのコマンドが 2000/XP にはないようなので、それならという事で作ったバッチファイルです。


バッチファイルのコード
こんな感じ
rem SET MOTO=%1
rem SET SAKI=%2
SET MOTO=コピー元ディレクトリ
SET SAKI=コピー先ディレクトリ
SET KAKU=*.*
SET TEMPFileName1=%TEMP%list.txt
SET TEMPFileName2=%TEMPFileName1%.bak

IF EXIST %TEMPFileName1% DEL %TEMPFileName1%
IF EXIST %TEMPFileName2% DEL %TEMPFileName2%
PUSHD %MOTO%
FOR %%I IN (%KAKU%) DO @ECHO %%I>> %TEMPFileName1%
POPD

PUSHD %SAKI%
FOR %%I IN (%KAKU%) DO (TYPE %TEMPFileName1% | FIND /V "%%I" > %TEMPFileName2% && MOVE /Y %TEMPFileName2% %TEMPFileName1%)
POPD

FOR /F %%I IN (%TEMPFileName1%) COPY %MOTO%\%%I %SAKI%

DEL %TEMPFileName1%
FOR %%I IN (MOTO SAKI KAKU TEMPFileName1 TEMPFileName2) DO SET %%I=
たいしたことはないでしょう

ファイル名やディレクトリ名に半角スペースが入っていたらどうなるのでしょぅかねぇ?


免責など
著作権は放棄します。
このソフト(本ページで紹介しているソフトウエア、および本ページで掲載しているバッチファイ)を使用したことによって生じた、
いかなる損害についても責任は持ちません。
ソースコードについても、各自の責任において、
自由にいじってくれてもいいです。


DownLoad(このページのコードを参照)



mail to active@window.goukaku.com