ここから本文です

フォルダ名とファイル名のリネームをかなりの量やることになり、手作業だとかなり...

now********さん

2018/12/1519:26:48

フォルダ名とファイル名のリネームをかなりの量やることになり、手作業だとかなり時間がかかってしまうため質問させていただきます。

下記のことをバッチファイルで実現したいです。

あるフォルダ内に複数のフォルダがあります。
・aaa_111
・bbb_222
・ccc_333

これらのフォルダ名の「_」以降を削除し、
・aaa
・bbb
・ccc

と修正し、その後、それぞれのフォルダに入れてあるファイル名に、そのフォルダ名を追記したいです。

(追記前の状態)
・aaa ←フォルダ名です
▶︎あああ.txt
▶︎いいい.txt
▶︎ううう.txt
・bbb
▶︎えええ.txt
▶︎おおお.txt
▶︎かかか.txt
・ccc
▶︎ききき.txt
▶︎くくく.txt
▶︎けけけ.txt

(追記後の状態)
・aaa
▶︎あああ_aaa.txt
▶︎いいい_aaa.txt
▶︎ううう_aaa.txt
・bbb
▶︎えええ_bbb.txt
▶︎おおお_bbb.txt
▶︎かかか_bbb.txt
・ccc
▶︎ききき_ccc.txt
▶︎くくく_ccc.txt
▶︎けけけ_ccc.txt

当方、バッチファイルの作成に関してはあまり経験がなく勉強不足でありますが、何卒ご教授頂ければ幸いです。

よろしくお願い申し上げます。

閲覧数:
99
回答数:
1
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

yai********さん

2018/12/1521:27:11

なんか問題あれば補足なり返信なりお稲荷コロ助なり
――――――――――――――ここから―――――――――――――――
@echo off

set deli=_
for /f "usebackq tokens=1,2 delims=%deli%" %%A in (`dir /b /ad *%deli%*`) do (
pushd "%%A%deli%%%B"
set Fol=%%B
call :FileReName
popd
ren "%%A%deli%%%B" "%%A"
)
pause
exit


:FileReName
for /f "usebackq delims=" %%C in (`dir /b /a-d`) do (
ren "%%~dpnxC" "%%~nC%deli%%Fol%%%~xC"
)
exit /b
――――――――――――――ここまで―――――――――――――――

  • 質問者

    now********さん

    2018/12/1615:42:09

    こんなに早く回答していただけると思っておらず,確認が遅くなってしまいました.

    同じ階層にフォルダとファイルがある場合は動作しましたが,異なる階層の場合,動いてくれませんでした.

    私の伝え方に問題があったようです.大変申し訳ございませんでした.
    イメージしていることを実際にフォルダを作成しスクリーンショットを撮りましたのでご覧になっていただき,再度作成していただくことは可能でしょうか?

    お手数をおかけしますがよろしくお願いいたします.

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2018/12/20 11:41:28

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q102006670...

懇切丁寧に教えていただきまして,誠にありがとうございました.

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる