- ベストアンサー
バッチファイルで、ショートカットから同名の元ファイルを検索して別フォルダにコピー
複数の画像(.jpg)ファイル(例:「CIMG0797.JPG」)のうち気に入ったものだけを、同じファイル名のショートカット(例:「CIMG0797.JPG へのショートカット」)として別フォルダに保存してあります。そのショートカット・リストから、同じ名前の元ファイルだけを選択してさらに別のフォルダにコピーしたいのですが、簡単に実行するには、どのようなバッチを組めばよいでしょうか? あるいは、フリーウェアのツールなどをご存知でしたら教えてください。 よろしくお願いいたしますm(__)m
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 > 1点、私の説明不足を補足させていただき、改めてご回答いただけると非常に助かります。 > 【補足】 > 「画像(.jpg)ファイルが入っているフォルダ」がC:\Picture以下の複数フォルダに分散保存されていたとすると、どのようになりますでしょうか? たとえば、C:\Picture\Pic1、C:\Picture\Pic2、・・・Pic9とあった場合です。(それ以外の条件は記載いただいた内容のままです) これを見たとき、うーん!と正直困りました。Pic1 .... Pic9 までに重複する ファイル名があったらどうしようとか考えて、結局ショートカットの中身をみる のが一番良さそうと思いつきました。一応動作確認してます。 フォルダの条件は前回と同じく、ショートカットの入っているフォルダを c:\shotrcut 、コピー先を C:\tmp としたときのバッチ例です。 最後から2行目の find "C:" のところは、実際に複数の画像(.jpg)ファイルが 入っているフォルダのドライブ(Cドライブなら C: を、Dドライブなら D: )に 変えてください。 ----------------------------------------- sample.bat echo off pushd c:\shortcut for %%a in ( *へのショートカット.lnk ) do call :sub %%a popd exit /b :sub for /f "delims=" %%x in ('find "%1" "%*"^|find "C:"') do copy "%%x" C:\tmp goto :EOF
その他の回答 (2)
- pita-gora
- ベストアンサー率70% (102/145)
ショートカットの入っているフォルダを c:\shotrcut 、複数の画像(.jpg)ファイルが 入っているフォルダを C:\Picture 、コピー先を C:\tmp としたときのバッチ例です。 複数の画像(.jpg)ファイル(例:「CIMG0797.JPG」)は例のように空白の入っていない ファイル名であるという前提ですのであしからず。 ---------------------------------------- sample.bat echo off pushd c:\shortcut for %%a in ( *へのショートカット.lnk ) do call :sub %%a popd exit /b :sub copy c:\Picture\%1 c:\tmp goto :EOF
お礼
ご返答ありがとうございます。あと一歩のところでうまくいきませんでした。(私の説明不足が原因です) 1点、私の説明不足を補足させていただき、改めてご回答いただけると非常に助かります。 【補足】 「画像(.jpg)ファイルが入っているフォルダ」がC:\Picture以下の複数フォルダに分散保存されていたとすると、どのようになりますでしょうか? たとえば、C:\Picture\Pic1、C:\Picture\Pic2、・・・Pic9とあった場合です。(それ以外の条件は記載いただいた内容のままです) よろしくお願いいたします。
- Oh-Orange
- ベストアンサー率63% (854/1345)
★アドバイス ・次の手順でバッチファイルを作成して下さい。 (1)DIR コマンドでショートカットの一覧をファイルに保存 (2)一覧ファイルからコピーしたいと思うショートカットだけ抽出 (3)抽出したショートカット名から『 へのショートカット』という部分を エディタの置換コマンドで削除します。 (4)これでコピーしたい画像ファイルの一覧が作成できる (5)(4)で作成した画像ファイルの一覧をクリップボード編集ソフトで編集します。 編集箇所は 各行の先頭に『COPY C:\…\』という画像ファイルがあるフォルダ名を記述。 各行の最後にコピー先のフォルダ名を記述。 ※上記の編集を手動でやると大変ですのでクリップボードの編集ソフトを利用して 行います。『ClipFan』というソフトで文字列の先頭、最後に挿入できます。 http://www.vector.co.jp/vpack/browse/pickup/pw5/pw005944.html http://www2u.biglobe.ne.jp/~shunbook/omocha/clipfan.htm ↑ これダウンロードして利用。 (6)編集できたらバッチファイルを実行すればコピーできる ・一応手順は書きましたが分かりますか? VBScript をご存知ならその方が楽なのですけど。 知っていればそちらをアドバイスしますよ。 バッチファイルだけでは編集とか必要です。 いろいろと面倒かな。 ・以上。
お礼
早速のご返答ありがとうございます。よくわかりました。 意外と簡単なやり方でできてしまうのですね。 今回は私の説明不足で申し訳ありませんでしたが、「ショートカット」はまとめて1フォルダに保存してあるのですが、「画像」は複数フォルダに保存されているので『(5)』のところでつまづいてしまいました。 「画像」が1フォルダに保存されているケースに活用させていただきます。ありがとうございました。 P.S. VBScriptはまったくわからないので残念です。
お礼
本当にありがとうございました!! 先ほど動作確認したところ完璧な結果が得られました。「ショートカットの中身をみる」としていただいたことで、重複も問題なしでした。(自分自身ここまで考えていませんでした) まさに求めていた答えをいただき、本当に感謝しております。