2017-10-18 8 views
-2

現在、1000個のファイルを別のディレクトリに移動するために必要な100.000個以上のファイル(.bak)があります。移動する必要のあるファイルには、拡張子が異なる(.xml)ツインファイルがありますので、簡単に見つけられるはずですが、私の人生ではこれをどうやって行うのか分かりません。私は.batファイルに関する経験がなく、私はすでに一日のものと闘ってきました。誰かが私を助けてくれますか?名前に基づいてファイルを移動するためのバッチファイル

クイック例:

まずファイル:

File1thatneedstomove.bak 
File1thatneedstomove.xml 
File1thatdoesntneedstomove.bak 
File2thatdoesntneedstomove.bak 
File3thatdoesntneedstomove.bak 
File2thatneedstomove.bak 
File2thatneedstomove.xml 

彼らは期間の背後にあるテキストだけが異なる双子のファイルを持っているので、だから私は別のフォルダに1番目と6番目のファイルを移動する必要があります。

+0

ようこそ。このサイトはコード作成サービスではなく、完全なソリューションを提供するためのものではありません。ユーザーは、途中で特定のプログラミング問題を解決するのに役立つために、ここにいくつかの努力とコードを示すことが期待されます。何を試しましたか?お読みください:https://stackoverflow.com/help/asking –

+0

私はこれら2つのソリューションをコピーし、私のニーズに合わせて変更しようとしましたが、これはうまくいかないようです。私は2つのファイルを比較する方法を確認することはできませんし、そのcheck.httpsに基づいて移動します://stackoverflow.com/questions/28035754/batch-file-to-move-files-based-on-name-wo-creating-新しいフォルダとhttps://stackoverflow.com/questions/41804814/batch-file-to-move-files-based-on-part-of-filename-to-folder-based-on-part-of-f –

答えて

2

テストされていない:

set "source_dir=C:\baks" 
set "destination=C:\dest" 

for %%a in ("%source_dir%\*bak") do (
    if exist "%%~dpna.xml" (
     echo move /y "%%~fa" "%destination%" 
    ) 
) 

それは必要な移動コマンドパラメータをエコーし​​ます。それが大丈夫ならば、大括弧内の行にあるechoという単語を削除してください。

+1

'%%〜dpna.xml'に' n 'があ​​りません。 –

+0

@LS_ᴅᴇᴠ - ありがとう – npocmaka

関連する問題