重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

c:\001、c:\002、c:\003の中に振り分けたJpgがあります。
上記と同じファイルネームのjpgが、d:\high にあります。
highの中のファイルを複数の振り分け先に上書きしてくれるようなソフトをご存知の方は教えてください。
なくしたと思ったjpgが見つかって、こつこつやっているのですが疲れました。お願いします

A 回答 (2件)

バッチファイルで実現する例だと、以下のような感じで出来るかと思います。



以下の線内の文章をメモ帳等にコピー&ペーストし、
「設定」の下の2行だけご自身の環境に合わせて書き換え、
メモ帳の上部メニューの「ファイル」→「名前を付けて保存」の順にクリックし、
「文字コード」を「ANSI」にし、
「ファイル名」を「~.bat」というようなファイル名(「振り分け.bat」等)で保存し、
保存したバッチファイルを実行すると処理が開始されます。

ただ、「c:\001、c:\002、c:\003」というフォルダに振り分けている場合、親フォルダが「C:\」になってしまい、Cドライブ内の全画像が対象となってしまいますから、一時的にでも良いので、何かフォルダに入れてください。

仮に、「c:\001、c:\002、c:\003」フォルダを、「C:\image」内に入れた場合、「コピー先」は「C:\image」にしてください。

「コピー元」は、高画質画像が入った「d:\high」にしてください。

条件としては、コピー元フォルダである「d:\high」直下にJPGファイルが置かれている事です。サブフォルダに入れられている場合はコピー出来ません。

まずは、テスト用にコピーしたフォルダを対象にテストしてみてください。

――――――――――――――――――

@echo off

rem ■ 設定
set "コピー元=d:\high"
set "コピー先=C:\image"

rem ■ コピー処理
pushd "%コピー元%"
echo -------------------
for /r "%コピー先%" %%a in ("*.jpg") do (
if exist "%%~nxa" (
echo " %%~nxa "
copy /b "%%~nxa" "%%~a"
echo -------------------
)
)

rem ■ 完了処理
echo.  
echo.  完了しました。
echo.  
echo.  
pause

――――――――――――――――――
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
バッチファイルで成功しました!
実際は「c:\001、c:\002、c:\003」これらが収まっているフォルダが数十個のフォルダ郡なので(c:\車両A¥001~c:\車両A¥003、c:\車両B¥001~c:\車両B¥003・・・c:\車両z¥001~c:\車両z¥003)となっているので、一時的にimageフォルダ001~003をコピーして作業すれば、なんとかなりそうです。
とても助かりました。ありがとうございました。

お礼日時:2020/12/07 19:43

No.1です。




補足ですが、「コピーした元ファイルは削除したい」という場合は、

copy /b "%%~nxa" "%%~a"

という一行の後に改行を入れて、

if "%ErrorLevel%"=="0" del /q "%%~nxa"

という一行をコピー&ペーストしてください。


copy /b "%%~nxa" "%%~a"
if "%ErrorLevel%"=="0" del /q "%%~nxa"

になればOKです。


これで、コピーが完了したコピー元ファイルは削除されます。

ただし、ごみ箱に入らず削除されますので、その点はご注意ください。


又、「削除」ではなく、「コピーした元ファイルの頭に # を付けたい」という場合は、上記箇所に以下の一行に追加すると実現出来ます。

if "%ErrorLevel%"=="0" ren "%%~nxa" "#%%~nxa"
    • good
    • 1
この回答へのお礼

kon77様、至れり尽くせりで申し訳ないです。
こちらのほうは当面使う予定はありませんが。内容をコピーして今後に備えたいと思います。
本当にありがとうございました。

お礼日時:2020/12/07 19:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!