ファイル名のつけ方を失敗しちゃうことありますよね。例えば、"*_01.csv"とするのを "*_1.csv"としてしまうと、名前順に並べた時に"*_10.csv"が"*_2.csv"の前に来ちゃったりしてイラっとします。イラっとするだけじゃなくて、ファイルの読み込み順が思い通りにならなくてとても困る。一晩かけて出力をやり直すのも大変なので、Windows のコマンドプロンプトからファイル名の変更を試みました。
コマンドプロンプトはワイルドカードを使って任意のファイルを選択してコピーとか、ファイル名変更するのにとっても便利なんですが、今まであまり使わずにいました。ファイル名失敗したら、もういちど出力し直してたことが多い。でもコマンドプロンプト便利だし、少しずつ覚えていった方がいいよね。コマンドプロンプトの解説サイトは沢山あるのですが、作業メモを残しておきます。
コマンドプロンプトを立ち上げたら、何はともあれ「ディレクトリの変更」。
処理したいデータの入っているフォルダ(ここでは"D:\data")を指定します。
cd/d パス名 なので、
cd/d D:\data
次に、"D:\data"に入っているファイルの名前変更を
ワイルドカード使って指定します。
ren 変更前ファイル名 変更後ファイル名
ren *_0.csv *_00.csv
ren *_1.csv *_01.csv
ren *_2.csv *_02.csv
...と繰り返しても良いのですが、FORを使えば、0, 1, 2, 3, ...9と繰り返すように指定できます。
FOR /L %変数名 IN (開始値,増減値,終了値) DO コマンド
FOR /L %i IN (0, 1, 9) DO ren *_%i.csv *_0%i.csv
それで、こんな状態だった"D:\data"が
こんな風になりました。
コマンドプロンプトの画面はこんな感じです。
うん、なかなか便利ですね。コマンドプロンプトの作業はUNDO(やり直し)が効かないので事前にバックアップとっておきましょう。