• 締切済み

ファイル名の末尾にある日時を先頭に持って行きたい

aaaa(2012.1.29).xxx bbb(2012.1.30).xxx ccccc(2012.1.31).xxx というようなファイルがあるのですが、日時がファイル名の末尾にあるので エクスプローラで日時順でソートが出来ません。 これを一括で末尾の12文字だけ先頭に持っていくような方法はありませんでしょうか? 手順が増えますが、一回ファイル名をテキストに落として変更するやり方でも良いです。

みんなの回答

  • bardfish
  • ベストアンサー率28% (5029/17766)
回答No.4

わたしならPerlでそういうことをするプログラムを組みます。 ちょっと勉強すればこのくらい簡単に作れる。

すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

>これを一括で末尾の12文字だけ先頭に持っていくような方法はありませんでしょうか? これはご質問の情報提供が間違いで ウソ: ccccc(2012.1.31).xxx ホントは: ccccc(2012.01.31).xxx のようだって事でしょうか。 さておき。 手順: メモ帳を起動する 下記をコピー貼り付ける set fso = CreateObject("Scripting.FileSystemObject") for each h in wscript.arguments set src = fso.getfile(h) s1 = left(src.name, instr(src.name, "(" )-1) s3 = right(src.name, 4) s2 = mid(src.name, len(s1) + 1, len(src.name) - len(s1) - 4) src.name = s2 & s1 & s3 next 名前を付けて保存で run.vbs というファイル名で保存する 目的のファイルを纏めてrun.vbsの上にドラッグ&ドロップする。

すると、全ての回答が全文表示されます。
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

for と move と環境変数.

すると、全ての回答が全文表示されます。
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

>手順が増えますが、一回ファイル名をテキストに落として変更するやり方でも良いです。 でしたら…… 1)コマンドプロンプトでdir /b *.xxx > filelist.txt などでファイル一覧のテキストを作成する。 2)キーボードマクロが使えるテキストエディタで、 aaaa(2012.1.29).xxx の1行を ren aaaa(2012.1.29).xxx (2012.1.29)aaaa.xxx と書き換えを実施する。 3)2)の手順を全ての行に対して行う。 4)編集の終わったテキストファイルを保存し、拡張子をbatに換えて実行。 でしょうかね。 2)の手順、秀丸でやるならば…(行の二重化と前検索をファンクションキーなどに割り当てた方が楽ですが…) 予め、半角空白を検索実行しておきます。 ●キーボードマクロ記録開始 行の二重化実行 ->先の行の先頭に「ren 」を挿入 ->(endキー押下などで)行の末尾に移動 ->半角スペースを入力 ->Delキー押下で次の行と連結 ->(endキー押下などで)行の末尾に移動 ->左へカーソル移動して拡張子のピリオドの位置まで移動 ->範囲選択モードにして切り取る部分を選択(Shiftキー押したままカーソル移動など) ->選択範囲を切り取り ->前検索実行(半角カーソルの位置に移動する) ->貼り付け(カーソル位置には注意。右へ移動する必要がある…かな) ->(Homeキー押下などで)行の先頭にカーソルを移動 ->次の行にカーソルを移動 ●キーボードマクロ記録終了 で、あとは最終行まで画面見ながらキーボードマクロを実行して編集。 ですかね。

すると、全ての回答が全文表示されます。

関連するQ&A

このQ&Aのポイント
  • 2月の末にAmazonで購入したインクジェット複合機 TS8630を使用しています。
  • しかし、使用から1ヶ月程度経過した頃からインクの残量が急速に減少していることに気付きました。
  • この使用量でインクがなくなるのは普通なのでしょうか?
回答を見る

専門家に質問してみよう