• ベストアンサー

ファイル名を変更したいのですが

画像ファイルをJPG画像でエクスポートするとファイル名が自動的につけられるのですが、1-0、1-1、1-2、・・・・・1-10、1-11、1-12、・・・・・1-21、1-22となりこれらのファイルをソートすると1-0、1-1、1-11、1-12、となり順番が変わってしまいます。ファイル名の番号の桁数をそろえれば大丈夫ですが1000枚からの画像があります。このようなことを解決できるソフト等ありますか?よろしくお願いいたします。

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

  • ベストアンサー
  • ryu-fiz
  • ベストアンサー率63% (2705/4228)
回答No.2

普通の連番ソフトは振り直しは不得手かも知れませんな。 正規表現を駆使すれば出来なくはないが、ムズいよね。。 連番ファイル桁揃え http://www.vector.co.jp/soft/win95/util/se208153.html ざっと見た感じ、イケそうですが…どうでしょう?

cyobi0224
質問者

お礼

ありがとうございます。早速試してみます。

cyobi0224
質問者

補足

ありがとうございます。早速試してみます。

その他の回答 (2)

noname#80264
noname#80264
回答No.3

ウィンドウズ XP をご利用なら Windows Script Host http://msdn.microsoft.com/en-us/library/9bbdkx3k(VS.85).aspx で FolderItem Object の Name http://msdn.microsoft.com/en-us/library/bb787827(VS.85).aspx を設定しなおすと良いかもしれません。 例: rename.wsf <job> <script> var shell = WScript.CreateObject("Shell.Application"); var folder = shell.NameSpace("c:\\"); if(folder){ var files = folder.Items(); if(files){ for(var i = 0; i < files.Count; i++){ var file = files.Item(i); var name = file.Name; var iExt = name.lastIndexOf("."); // 拡張子「.」の位置。 var ext = ""; // 拡張子用。 if(0 <= iExt) ext = name.slice(iExt); // 拡張子を ext へ。 var iHyphen = name.lastIndexOf("-"); if(iHyphen < 0) continue; // 「-」が無ければ次へ。 var n1 = name.slice(0, iHyphen); // 「-」の前を n1 へ。 var n2 = name.slice(iHyphen + 1, iExt); // 「-」の次から「.」までを n2 へ。 var zero = "0"; var zero1 = ""; // 最初の数値の前に付加する「0」文字列用。 for(var i = 0; i < 3 - n1.length; i++) zero1 += zero; var zero2 = ""; // 次の数値の前に付加する「0」文字列用。 for(var j = 0; j < 3 - n2.length; j++) zero2 += zero; var newName = zero1 + n1 + "-" + zero2 + n2 + ext; file.Name = newName; } } } </script> </job>

cyobi0224
質問者

お礼

ありがとうございます。でも難しいですね。私には無理かも・・・

  • papa2010
  • ベストアンサー率26% (50/187)
回答No.1

ファイル名変換一括ソフトを使うと良いですよ^^ http://www.vector.co.jp/soft/win95/util/se397494.html 操作は使っていればわかってきます^^

cyobi0224
質問者

補足

早速の回答ありがとうございます。いくつかの変換ソフトを使用してみたらソフトに取り込むときにすでに順番が変わってしまいそのままファイル名を連番をふっていっても結局順番が変わってしまいます。このソフトで解決できますか?

関連するQ&A

専門家に質問してみよう