【Windows】ファイル検索結果の全てのパスを取得しつつコピー、処理後に元に場所に戻す方法

windows-get-file-paths-restore-batch

検索で抽出したデータだけをローカルで処理して、一気に元に戻せないかと試したことです。

[追記]FastCopyを使ってのコピー

環境設定

こちらのほうが簡単だったので追記。

  1. FastCopyをダウンロード&インストール

  2. 起動して、設定>一般設定>シェル拡張で有効化にチェック

ファイル検索結果の全てのパスを取得しつつコピー

  1. エクスプローラーで検索 たとえば「*.avi」で拡張子だけ絞り込む

  2. 検索結果をすべて選択

  3. 右クリックでFastCopyアイコンのコピーを選択

  4. ソフトが起動してコピー実行。(後で使うのでウインドウは閉じないこと)

あとはかけたい処理をします。

処理後に元に場所に戻す方法

  1. 処理後のファイルを全て選択してFastCopyアイコンのコピーを選択

  2. ソフトが起動するのでSourceのパスを取得

  3. あとは下記の項目「ローカルから元の場所に戻す方法」と一緒で、バッチ処理を記述

move /Y 元のパス 差し替えたい先のパス

move /Y  C:\Users\min\Desktop\copy\neko_1.avi C:\Users\min\Desktop\base\neko_1.avi
move /Y  C:\Users\min\Desktop\copy\neko_2.avi C:\Users\min\Desktop\base\neko_2.avi
move /Y  C:\Users\min\Desktop\copy\neko_3.avi C:\Users\min\Desktop\base\neko_3.avi
move /Y  C:\Users\min\Desktop\copy\neko_4.avi C:\Users\min\Desktop\base\neko_4.avi
pause

して実行するだけです。

エクセルなどで、元のパスと差し替えたいパスの記述をまとめると便利かもしれません。

検索結果のファイルのパスを取得する方法

  1. エクスプローラーで検索 たとえば「*.avi」で拡張子だけ絞り込む

  2. 検索結果をすべて選択

  3. Shift押しながら右クリックでパスのコピーを選択

  4. 以上で選択した全てのファイルのパスがコピーできます。

"C:\Users\min\Desktop\base\neko_1.avi"
"C:\Users\min\Desktop\base\neko_2.avi"
"C:\Users\min\Desktop\base\neko_3.avi"
"C:\Users\min\Desktop\base\neko_4.avi"

パスを控えたら、今度はデータ自体をローカルでコピーして、なんらかの処理を加えたりします。

パス取得におすすめのフリーソフト「Path Copy Copy」

ダブルクオーテーションがつかないのでこちらがおすすめです。

https://www.gigafree.net/system/context/pathcopycopy.html

ローカルから元の場所に戻す方法

  1. ローカルのコピーすべてを Shift押しながら右クリックでパスのコピー

  2. メモ帳を開いて下記のコードを書いて、test.batで保存

move /Y  C:\Users\min\Desktop\copy\neko_1.avi C:\Users\min\Desktop\base\neko_1.avi
move /Y  C:\Users\min\Desktop\copy\neko_2.avi C:\Users\min\Desktop\base\neko_2.avi
move /Y  C:\Users\min\Desktop\copy\neko_3.avi C:\Users\min\Desktop\base\neko_3.avi
move /Y  C:\Users\min\Desktop\copy\neko_4.avi C:\Users\min\Desktop\base\neko_4.avi
pause

※moveはデータの移動 /Yは上書き保存のオプションです。pauseはコマンドプロンプトのテキストを見るための停止処理です。

  1. test.batを実行

以上です。

置換におすすめのフリーソフト「ファイル置き換え」

同名のデータを検索して置換してくれます。ドラッグ&ドロップでいけるので便利です。

重複のデータを探して置換する時にも便利です。

https://www.vector.co.jp/soft/winnt/util/se438552.html

感想

時間があれば、全部スクリプトでなんとかするかもしれませんが、ない場合は大量に繰り返す作業はバッチ処理が有効です。