ファイルの振り分けを自動で行いたいのですが、 例えば C:\Users\names\Desktop\folderの中に、 田中商事 本社 20220527011133.jpg

補足

実は移動元のファイルのファイル名と移動先のフォルダ名が一致していない場合があるのですが、その場合はどのようにすればよいでしょうか? 移動元ファイル (株)田中商事 本社 20220527011133.jpg  田中商事 本社 様 20220527011111.jpg 移動先フォルダ C:\Users\names\Desktop\田中商事 本社 できるのであれば、何か別に設定ファイルを別に用意して ['(株)田中商事 本社', '田中商事 本社 様'] ⇒ "C:\Users\names\Desktop\田中商事 本社" のように誰でも管理できるような形で作成したいのですが何かヒントありますでしょうか?

プログラミング | C言語関連104閲覧xmlns="http://www.w3.org/2000/svg">250

ベストアンサー

0

バッチファイルにする場合は以下のコードをコピーしてください @echo off powershell -c "ls folder -file|foreach-object{if(test-path ($_.name.split(' ')[0]+' '+$_.name.split(' ')[1])){move $_.pspath ($_.name.split(' ')[0]+' '+$_.name.split(' ')[1])}}"

ThanksImg質問者からのお礼コメント

ありがとうございました。 大変助かりました

お礼日時:5/28 21:01

その他の回答(2件)

0

逆はどうなんですかね? フォルダ名に一致する文字列が含まれているファイルを移動する。 フォルダ名 : 田中商事 本社、この文字列が含まれるファイルは、 (株)田中商事 本社 20220527011133.jpg 田中商事 本社 様 20220527011111.jpg これを 田中商事 本社 のフォルダに移動する。 これで良いなら、先の回答者さんが作ってくれますよ・・・。

1

〇はインデントです。Desktopフォルダで実行することを想定した相対パスです。 from pathlib import Path import shutil files = Path('folder').glob('*.jpg') for file in files: 〇company, depo, file_name = file.name.split(' ') 〇dst_dir = f'{company} {depo}' 〇Path(dst_dir).mkdir(parents=True, exist_ok=True) 〇shutil.move(str(file), f'{dst_dir}/{file.name}')

1人がナイス!しています