プロが教える店舗&オフィスのセキュリティ対策術

こんにちは

コマンドプロンプトで、ファイル名の一括変更をしたいのですが、やや複雑でどのようにできるのか(そもそも実現可能なのか)わからず、教えていただけますでしょうか。

次のようなファイルがあります(全体の一部です)。

renban_01_fixedstrings_08.txt
renban_02_fixedstrings_02.txt
renban_03_fixedstrings_06.txt
renban_04_fixedstrings_11.txt
renban_05_fixedstrings_04.txt

最初に renban_nn という連番項目 (すべてのファイル名で 2 桁) があります。
後半にも _nn.txt という連番項目 (すべてのファイル名で 2 桁) があります。

前半の連番部分が不要なのです。これを後半の連番だけを使って
01.txt, 02.txt, 03.txt.... というファイル名にして並べたいと考えています。

どのようなリネーム操作を行えばよいでしょうか?
ちなみに、前半の連番システムと後半の連番システムに関連性や規則性はありません。

よろしくお願いします。

A 回答 (6件)

適当なファイルに(例えば hoge.cmd)に次の内容をコピぺして


hoge.cmd を実行、で完了ですね。

--- hoge.cmd ---
for %%i in (renban_??_fixedstrings_??.txt) do call :sub %%i
exit /b

:sub
set var=%1
ren %1 %var:~23%
exit /b
    • good
    • 0
この回答へのお礼

ありがとうございます!バッチリパーフェクトです!(今更で済みません)

お礼日時:2020/08/21 09:14

Windows Power Shellのコンソールでなら以下で可能です。


・Windows 7以降なら標準で使用できます。
・対象ファイルのあるディレクトリに移動してから実行のこと

Get-ChildItem *.txt | %{ Rename-Item $_ -NewName $_.Name.Substring(23,6)}
    • good
    • 1

ファイルが大量にある。

ファイル名がすべて同じ形式であること。この2つを前提として
私なら、エクセルを使いバッチファイルを作成します。
ファイル名に対して、右から6文字を取り出す関数、=RIGHT(セル,6)でオートフィルで一気に
**.txtの部分を取り出して、renを付加してバッチファイルを作成します。
    • good
    • 0
この回答へのお礼

なるほど、いい方法だと思います!

お礼日時:2019/03/18 10:03

わたしがやるときはめんどうなので


dir /b > list.txt
で、テキストに落して、リネーム用のコマンドを羅列し
list.batなどに貼り付けて実行します
    • good
    • 0

「コマンドプロンプトで」と記載がありますが、


ファイル名を一括変更できるソフトがありますが、
それを使ってはダメなのですか。
私はこれを使っています。
http://enrai.matrix.jp/rename.html
    • good
    • 0

1)ファイル名の一覧を作成


dir /b >hoge.bat

2)一覧ファイルをエディタで編集(箱型編集ができるもの)
a)
 ren__
 ren__
 ren__
 ren__
 ren__
 ren__
 ↑を追加('_'はスペース)

b)ファイル名をカット&ペースト
ren renban_01_fixedstrings_08.txt_
ren renban_02_fixedstrings_02.txt_
ren renban_03_fixedstrings_06.txt_
ren renban_04_fixedstrings_11.txt_
ren renban_05_fixedstrings_04.txt_

c)変更後ファイル名をコピー&ペースト
ren renban_01_fixedstrings_08.txt 08.txt
ren renban_02_fixedstrings_02.txt 02.txt
ren renban_03_fixedstrings_06.txt 06.txt
ren renban_04_fixedstrings_11.txt 11.txt
ren renban_05_fixedstrings_04.txt 04.txt

3)保存終了してバッチ(hoge.bat)を実行
    • good
    • 0

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