• 締切済み

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

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

みんなの回答

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

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

  • keithin
  • ベストアンサー率66% (5278/7940)
回答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% (2177/4070)
回答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

  • デジタルカメラ画像ファイル名を撮影日時順の連番でつけなおす方法

    WindowsXPでデジカメ画像を読み込む際に、 撮影日時がずれて連番が振られて保存されてしまいました。 WindowsXPのファイルエクスプローラで、撮影日時を表示、ソートして、ファイル名を連番をつけて(#3#.jpgにして)一括変換してみたのですが、撮影日時のソート順に連番はつけられず、ファイル名のソート順で連番がつけられてしまいます。 どうしたら、撮影日時順に連番が振られるようになりますか?? よろしくお願いします。

  • ファイル名の末尾に一括で文字を追加したい

    コマンドプロンプトで ファイル名がバラバラであるファイルの末尾に一括で同じ文字「未編集」を付けたしたいのですが ネットで調べたところ、ren *.* ????????????????????????????????bbb.*というのを見つけたのですが ファイル名の文字数だけ「?」が必要なんでしょうか? 1文字にまとめることは出来ないでしょうか? OSはWin 8です。

  • ファイル名の一括変換で、先頭の数字を削除したい。

    PCと連結可能なボイスレコーダーを使っています。PCに取り込んだ時に、ファイル名の先頭に自動的に録音された順番の番号が入れられてしまいます。これだけは設定を変えられないようです。しかし、この番号はボイスレコーダーから削除すれば、新しく録音したものはまた1番から番号が振られるようになるので、全く意味がありません。PCに取り込んだファイルをソートしようとすると、先頭の数字が同じものがいくつも出てきてしまって、かえって邪魔なのです。 ファイル名はこんな形式になっています。 001_acrobot_2007_09_12_11_30.dvf 先頭の3文字がボイスレコーダー上での順番を表すもの。その後にユーザー名、録音日時と続きます。 この先頭の3文字(正確にはその直後のアンダーバーも含めて)だけを一括で削除したいのですが、どんなツールを使ったらできますでしょうか? 普段は「極窓」でたいていのファイル名の一括変換は事足りているのですが、先頭の数文字を削除するというのがどうしてもできません。 ファイルの数がたくさんあり過ぎて、一つ一つ先頭の文字を削除することはできそうにないので、とても困っております。よろしくお願い致します。

  • ディレクトリ名をファイル名するバッチファイル

    ディレクトリ名を取得してその名称でフォルダを作るバッチファイルを考えています。 OSはWINDOWS XPです。 こういったディレクトリがあるとします。 111~444:名称が固定のディレクトリ bbb:名称が可変するディレクトリ mmm.bat、xxx.text:111フォルダと同じところにあるファイル 111┬222─bbb┬333─yyy.text    │        └zzz.text    │    └bbb┬333─yyy.text         └zzz.text mmm.bat xxx.text mmm.batを実行すると、111ディレクトリ以下のフォルダ名を取得し、 下記のようにフォルダを作成し、yyy.textの場所にbatファイルと同じ 所にあるxxx.textをコピーして差し替えるという動作をしたいのです。 (zzz.textは内容は違うが同じファイル名です) 444┬222─bbb┬333─xxx.text    │       └zzz.text    │    └bbb┬333─xxx.text        └zzz.text バッチコマンドで、ディレクトリ名を取得して空のフォルダを作る所までは 下記のようにできたのですが、 444┬222─bbb─333    │    └bbb─333 二つのzzz.textのコピー方法と、yyy.textの場所にxxx.textをコピーするにはbbbという可変するディレクトリを通らなければいけないのでその取得方法がわかりません。 分かる方は是非お教えください。 言葉が足りないところは補足もいたします。 よろしくお願いいたします。

  • ファイルの先頭に文字を追加するには?

    ファイルの先頭に文字を追加するにはどうしたらよいでしょうか? ファイルの末尾に追加するなら echo 追加する文字列 >> ファイル名 でオッケーですが、 先頭に追加する方法が、単純そうなのに、調べても分かりませんでした。 例えば test.txt の中身が以下で、 aaa bbb # echo hello >> test.txt で aaa bbb hello となりますが、 hello aaa bbb とするには、どうしたらよいでしょうか。 単純なコマンドはあるでしょうか。

  • エクスプローラで、ファイル名の先頭の英字が大文字になって困ってます。

    エクスプローラで、ファイルの移動などに伴ってファイル名の先頭の英字が大文字になってしまい、FTPなどで、ホームページのファイルを送るとき、そのまま大文字で行ってしまい、サーバー上では大文字と小文字が区別されるため「ページが見つからない」等のエラーが頻発しています。 FTPの設定で「全て小文字で送る」にする方法もあるのですが、あえて一部大文字としているものもあるため、それもできません。エクスプローラで、ファイル名の先頭の英字が大文字にならないようにする方法がありましたら教えて下さい。または、ファイル名の先頭を一括小文字変換する方法があったら教えて下さい。

  • ファイル名の先頭に連番をつけるには

    作成時刻をキーにソートされた500件くらいのjpgファイルがあります。 ファイル名の先頭に連番をつける方法はないでしょうか。 CDにコピーやリサイズを行うと、作成時刻が変わります。 其の場合、表示の順序をソートで元に戻すためです。

  • wordのvbaでハイパーリンク設定したい

    wordのvbaに関する質問です。極めて初歩的な質問とは思いますが、仕事の都合上じっくり勉強をしている時間がないのでご容赦ください。 「C:\test」ディレクトリに作ったwordファイルに、下のような表Aを入れます。表Aで「|」マークはwordの縦罫線です。また「aaaa,bbb,ccccc」というのは、完全に出鱈目な名前で、ただの例です。 番号 | ファイル名 1 | aaaa 2 | bbb 3 | ccccc ここで、「C:\test\sub」フォルダに「sub_aaaa.pdf,sub_bbb.pdf,sub_ccccc.pdf」という、表A中のファイル名に「sub_」をつけた名前のPDFがあります。表A中の文字列「aaaa」を「ctrl+クリック」すれば「sub_aaaa.pdf」が開けるように、文字列にハイパーリンクを貼ります。同様に、「bbb」「ccccc」の文字列にも、文字列+subの名前のPDFが開けるようにハイパーリンクを貼っていきます。この手順が一発で出来るように、マクロ化するということはできるでしょうか。ちなみに、表A中の文字列「aaaa」が「abc」に変更されるなどはありえます。そのときはPDFファイル名も、それにしたがって一致するよう変更します。

  • 先頭が半角ピリオドのファイル名

    Windows XP です。 あるアプリケーションにより .dropbox.cache という名前のフォルダが作成されていたのですが、 エクスプローラーで、自分で同様に名称先頭に半角ピリオドをもつファイル/フォルダを作成しようとすると、Windowsにより「ファイル名を入力して下さい」というエラーが出て作成できません。 【質問1】これはWindows XP のファイル名規則上は先頭ピリオドは許されるけど、エクスプローラーで作成することは出来ない、ということなのでしょうか? 【質問2】もしそうだとすれば、なぜ命名規則上は許されるのに、エクスプローラーでは作成禁止されているのでしょうか?

  • 復数のファイル全てのファイル名の先頭に任意の文字をつけたい

    復数のファイル全てのファイル名の先頭に任意の文字をつけたい 例えば100~999までのファイルがあるとして、 それら全てのファイルの先頭に0を負荷して0100~0999にしたいのですが、 なにか一括で出来るソフトはありますか?