2016-03-29 25 views
3

私は初心者ですが、ソースのフォルダの内容を読み込み、ファイルを宛先と比較し、一致をバックアップするバッチファイルを作成しようとしています。ソースファイルを移動先に移動します。私は、ソースディレクトリ内のファイルの内容がマスクとして機能すると推測します。ソースファイルの内容をバッチで置き換える前に、特定のファイルを置き換える前に

この結果を得るために使用できる手法はありますか?私はRobocopyXCopyを近くで試しましたが、私が探しているものではありません。 XCopyには除外オプションがありますが、それは私が必要とするものの反対です。どんな提案も大歓迎です。設定

は、このようなものです:

これらのフォルダには、私は古いものを置き換えるために新しいファイルが持っているこの

Parent_folder_new 
Folder1  Folder2  Folder3 
    File1   File1  File1 
    File2   File2  File2 
    File3   File3  File3 

が含まれています。ソースファイルが先のものを上書きする前に

Parent_folder_old 
Folder1  Folder2  Folder3 
    File2  File1  File1 
    File3      File3 

をすぐに上書きされるファイルだけをバックアップする必要があります。 if文

は、私が試してみたが、私は、これはやや私が何をしようとしているのアップクリア願って

Set folder[1]=folder1 
Set folder[2]=folder2 
Set folder[3]=folder3 

for F "tokens=2 delims==" %%f in ('set folder[') do (
    if Parent_folder_new\%%f==Parent_folder_old\%%f 
::copy results of if statement to Parent_folder_backup\%%f 
) 

後どこへ行くかわかりません。

+0

あなたが試したことを分かち合い、問題のあることを正確に説明してください。その後、お手伝いできるかもしれません。 – aschipfl

+0

詳細を更新しました。これがうまくいきたいと思っています。 – Sid

+2

親の場所に3つ以上のフォルダが存在する可能性があるため、少しフレキシブルではないようです。ディレクトリレベルは1つだけですか、それとも深いツリーですか?後者が真の場合は、最初のディレクトリレベルのみを処理し、深い横のアイテムは無視しますか? 'xcopy/L/U'を使うと、コピーされるファイルのリストを得ることができます('/L'は 'xcopy'にアイテムをリストするだけですが、コピーすることはありません)。バックアップジョブの入力を行い、 'xcopy/U'('/L'スイッチを使わずにこの時間を本当にコピーします)を使います。 – aschipfl

答えて

0

私は移動するためのファイル

copy /y C:\path\folder1 C:\destination 

、これをコピーするためにこれを使用すること

move /y C:\path\folder1 C:\destination

あなたが望む任意のフォルダにfolder1のを変更する必要があります。私はこれを使ってサムドライブをバックアップしました。

echo off 
:start 
echo What folder/files do you want to copy? 
set /p copy=: 
echo Is %copy% correct? (Y/N) 
echo Note: This must be a directory path. 
set /p final=: 
if %final% == Y goto desRequest 
if %final% == N goto start 
:desRequest 
echo Destination? 
set /p destination=: 
echo Is %destination% correct? (Y/N) 
set /p finalDes=: 
if %finalDes% == Y pause 
if %finalDes% == N goto desRequest 
echo Copying... 
copy /y %copy% %destination% 
echo Copied! 
pause 
cls 
goto start 

これをname.batファイルにコピーすると、あなたが設定されます。

関連する問題