検索で抽出したデータだけをローカルで処理して、一気に元に戻せないかと試したことです。
[追記]FastCopyを使ってのコピー
環境設定
こちらのほうが簡単だったので追記。
- FastCopyをダウンロード&インストール
-
起動して、設定>一般設定>シェル拡張で有効化にチェック
ファイル検索結果の全てのパスを取得しつつコピー
- エクスプローラーで検索 たとえば「*.avi」で拡張子だけ絞り込む
-
検索結果をすべて選択
-
右クリックでFastCopyアイコンのコピーを選択
-
ソフトが起動してコピー実行。(後で使うのでウインドウは閉じないこと)
あとはかけたい処理をします。
処理後に元に場所に戻す方法
- 処理後のファイルを全て選択してFastCopyアイコンのコピーを選択
-
ソフトが起動するのでSourceのパスを取得
-
あとは下記の項目「ローカルから元の場所に戻す方法」と一緒で、バッチ処理を記述
move /Y 元のパス 差し替えたい先のパス
move /Y C:\Users\min\Desktop\copy\neko_1.avi C:\Users\min\Desktop\base\1\neko_1.avi
move /Y C:\Users\min\Desktop\copy\neko_2.avi C:\Users\min\Desktop\base\2\neko_2.avi
move /Y C:\Users\min\Desktop\copy\neko_3.avi C:\Users\min\Desktop\base\3\neko_3.avi
move /Y C:\Users\min\Desktop\copy\neko_4.avi C:\Users\min\Desktop\base\4\neko_4.avi
pause
して実行するだけです。
エクセルなどで、元のパスと差し替えたいパスの記述をまとめると便利かもしれません。
検索結果のファイルのパスを取得する方法
- エクスプローラーで検索 たとえば「*.avi」で拡張子だけ絞り込む
-
検索結果をすべて選択
-
Shift押しながら右クリックでパスのコピーを選択
-
以上で選択した全てのファイルのパスがコピーできます。
"C:\Users\min\Desktop\base\1\neko_1.avi"
"C:\Users\min\Desktop\base\2\neko_2.avi"
"C:\Users\min\Desktop\base\3\neko_3.avi"
"C:\Users\min\Desktop\base\4\neko_4.avi"
パスを控えたら、今度はデータ自体をローカルでコピーして、なんらかの処理を加えたりします。
パス取得におすすめのフリーソフト「Path Copy Copy」
ダブルクオーテーションがつかないのでこちらがおすすめです。
https://www.gigafree.net/system/context/pathcopycopy.html
ローカルから元の場所に戻す方法
- ローカルのコピーすべてを Shift押しながら右クリックでパスのコピー
-
メモ帳を開いて下記のコードを書いて、test.batで保存
move /Y C:\Users\min\Desktop\copy\neko_1.avi C:\Users\min\Desktop\base\1\neko_1.avi
move /Y C:\Users\min\Desktop\copy\neko_2.avi C:\Users\min\Desktop\base\2\neko_2.avi
move /Y C:\Users\min\Desktop\copy\neko_3.avi C:\Users\min\Desktop\base\3\neko_3.avi
move /Y C:\Users\min\Desktop\copy\neko_4.avi C:\Users\min\Desktop\base\4\neko_4.avi
pause
※moveはデータの移動 /Yは上書き保存のオプションです。pauseはコマンドプロンプトのテキストを見るための停止処理です。
- test.batを実行
以上です。
置換におすすめのフリーソフト「ファイル置き換え」
同名のデータを検索して置換してくれます。ドラッグ&ドロップでいけるので便利です。
重複のデータを探して置換する時にも便利です。
https://www.vector.co.jp/soft/winnt/util/se438552.html
検索結果のパス取得してコピー、後で元に場所に戻す方法まとめ
時間があれば、全部スクリプトでなんとかするかもしれませんが、ない場合は大量に繰り返す作業はバッチ処理が有効です。