- 締切済み
ファイル名の一括変更ツールについて
業務上、大量のファイルのファイル名を変更する必要があり、ファイル名を一括変更するツールを探しています。 やりたいことは、ファイル名の特定位置の文字列を一括で変更することなのですが、変更後の文字はファイルによって異なるため、何らかの方法でそれを指定できるツールが必要と思っています。 想定しているのは、例えば以下のような機能です。 ・ファイル名の一部を格納フォルダ名に一括変更する。 例:「XXXX-AAAA-0001.pdf」等がフォルダ名BBBBに格納されていた場合、 BBBB配下のファイルを全て「XXXX-BBBB-0001.pdf」のように変換する。 または、 ・外部ファイル(またはそのツール)に変更前ファイル名と変更後ファイル名を指定して、読み込むことでファイル名を一括変更する。(変更パターンは複数あり) 使用端末はWindowsXPまたはWindows7です。 Excelのマクロ等でも出来そうだと思いますので、実装例等をご紹介いただくことでも問題ありません。 よろしくお願い致します。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- Toshi0230
- ベストアンサー率51% (836/1635)
> やはりマクロが有用なのでしょうか。 別にマクロでもバッチでも専用アプリでも、何でもいいです。 要は、質問者さんが今回の要件と自分のスキルとを照らし合わせて、もっとも手軽に出来る方法は何か、ということを考えてください。 Excelが得意ならExcelでかまわないと思いますし。 ファイル名の変更、というのは今後何回も発生する定型作業のようですから、作業後との手間は減らしつつ、かつそのツールの作成に必要な労力を最小限に抑えるにはどうすればよいか、というのは質問者さんが考えないといけません。 (人から聞いた内容をそのまま転載しただけだと、何かあったときの対応が取れなくなります) その上で判らないことがあって質問されるのであれば、助けてくれる人は多分いると思います。
- Toshi0230
- ベストアンサー率51% (836/1635)
コマンドラインでやる、って選択肢もありますね 最初のやつだと、以下のコマンドで多分いけるんじゃないかと。 # 試してないので、実際にやる際は事前に試験してください c:\> cd /d bbbb ← bbbbのフルパスを使うことを推奨します。 bbbb> ren *-aaaa-*.pdf *-bbbb-*.pdf 2番目のやつは、ExcelのA列に変更前のファイル名、B列に変更後のファイル名を 入れてcsv形式で保存(たとえば hoge.csv)。 その上で、以下のコマンドを実行 for /F "delims=, tokens=1,2" %i in (hoge.csv) do ren %i %j ちょいと手間かもですが、作業が単発であればこっちの方が早いかも。 何回も繰り返し作業が発生するのであればExcelマクロなりなんなり、楽に実行できる環境を作った方がよいです。
- YKKIKS63
- ベストアンサー率44% (22/50)
質問者様の要求に完璧にそうものなのかどうかはわかりませんが、私は、ファイル名変更ツールとして、「ファイル名変更くん」を利用させてもらっています。フリーソフトです。 もしも、この手の出来合いのソフト(要は変換仕様が決まっていて、利用者はその仕様の範囲で使用するソフト)で困難なことを求めておられるのでしたら、もちろんExcelマクロ等、ご自分でプログラムを組むしかないですね。 ちなみに、私は昔Excelマクロで、ファイル名を変更するものを作ったことがありますので、Excelマクロを組めるのであれば、Excelで作成するのが簡単かもしれません。 1)名称変換対象ファイルが格納されているフォルダを指定する。 やりかたはいくつかあります。 決め打ちで、Excelの特定のセルにフルパスの文字列を記入しマクロで、そのパスを読み込む。 マクロの中で、フォルダ指定用のダイアログを表示して、ユーザ操作でフォルダ指定できるようにする。 2)マクロに指定フォルダのパスを与えることができたら、その中の対象ファイルを片っ端から検索して、 ファイル名を変更していく。(万が一のプログラミングのバグを想定して、"ファイル名を変更して保存"を 行えば、万が一の場合でも元のファイルは残っているので安心、元ファイルは意図通りに名称変更できたことを確認した のち手で削除、ということもできるし、プログラムも簡単かな?) キーワード:Excel/VBA「dir」 変更前の名前から変更後の名前に変換するのは、文字列の加工を行うVBA関数(文字列関数)を駆使する。 例)mid、left、right、trim、StrConv、replace等々 以上、ご参考までに。 なお、実装例の紹介をできればよいのですが、自分のやりたいことを適当にプログラムしたものであり、その内容を 説明するのは大変なので省略させていただきます。(目の前にいてその場で説明...ならできるのですが。)
お礼
マクロを組む時間がないので、具体的な実装例を教えていただければ幸いです。
- yambejp
- ベストアンサー率51% (3827/7415)
名前が競合しそうですね。 たぶんwshでやるのが妥当だと思いますが・・・
お礼
具体的な方法があれば教えていただけますでしょうか。
- yasuto07
- ベストアンサー率12% (1344/10625)
ベクターにくと、フリーソフトでありますよ。リネーマとか、「ファイル リネーム ソフト」等で 検索してみてください。
お礼
ベクターで検索してみましたが、希望に沿った機能を満たしたツールは見当たりませんでした。具体的なソフト名がおわかりでしたら、教えていただけますと助かります。
お礼
おっしゃる通り、繰り返し作業が発生しますので、やはりマクロが有用なのでしょうか。 具体的な実装例を教えていただければ幸いです。