• ベストアンサー
  • すぐに回答を!

フォルダ名の一括変更

  • 質問No.7015626
  • 閲覧数238
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 46% (261/566)

プログラムを使って「フォルダ名」を一括変更したいです。

20071203青葉区西池代
20071204豊島区西幾多
20071205西区お茶の子池
20071209江東区上池台

上記のような、「前半に半角英数字8文字、後半に全角文字(漢字・ひらがな・カタカナ)複数文字」
のフォルダが複数ございます。
これらの前半と後半を入れ替え、

青葉区西池代20071203
豊島区西幾多20071204
西区お茶の子池20071205
江東区上池台20071209

上記のような形にしたいと考えています。
これらを一括して変更できる方法はございませんでしょうか?
(cmdやフリーソフトなど使用)
どうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー

ベストアンサー率 58% (42/72)

Windowsだと思って回答します。
Vectorのフリーソフトで一番最初にあったのが
ファイル名一括変更:http://www.vector.co.jp/soft/winnt/util/se431120.html
で、正規表現が使えるリネームソフトならどれでも可能だと思います。
このソフトの場合なら、検索に「^(\d\d\d\d\d\d\d\d)(\D+)$」、
置換に「$2$1」でOKのはずです。
\dは日付数字分8個です。
補足コメント
zyaba

お礼率 46% (261/566)

教えていただいた「$2$1」についてですが、
正規表現で$を調べると「行の終わりにマッチします。」とあり、
どうして前半と後半が入れ替わるのかその理屈が全くわかりません。
よろしければぜひ教えていただきたいです。
投稿日時:2011/09/16 23:36
お礼コメント
zyaba

お礼率 46% (261/566)

大変ありがとうございます!
ご教示いただいた方法でできました!
また、windowsのcmdでできる方法もございませんでしょうか。
投稿日時:2011/09/16 23:24

その他の回答 (全1件)

  • 回答No.2

ベストアンサー率 55% (1857/3366)

正規表現は、使うソフトやエンジンによって違いますので、必ずその使用するソフトのマニュアルで確認するようにしてください。
同じ記号を使っていても、文脈や場所によって意味が変わることも多いです。

大抵の正規表現を使ったものでは、「その正規表現にマッチした部分(または全部)の文字列」を後から参照できる仕組みを持っています。特に、置換を行うものはほぼ間違いなくあります。

以下、そのソフトのマニュアルより。
> 【グループ化】
>
> ( )    グループ化する箇所。
>        ( )内の文字列がキャッチアップされる。
>        キャッチアップされた文字列は、( )の順に、変数 $1,$2 ~ $n に格納される。

とあるように、()で括った部分にマッチする部分文字列が$1,$2に順番に格納されます。それを登場順とは逆に並べたので入れ替わる、ということです。

ちなみに、紹介されているものだと、住所の部分に数字が入っているとマッチしないので「\D」ではなく「.」とするのがいいでしょう。また\dの数も、コピペするのでは数え間違いもあるので「\d{8}」とするのがいいでしょう。
お礼コメント
zyaba

お礼率 46% (261/566)

ありがとうございます!
このソフトでは変数で、格納されていたということですね!
良く理解できました!
投稿日時:2011/09/17 00:37
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ