- ベストアンサー
ファイル名を変更したいのですが
画像ファイルを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枚からの画像があります。このようなことを解決できるソフト等ありますか?よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
普通の連番ソフトは振り直しは不得手かも知れませんな。 正規表現を駆使すれば出来なくはないが、ムズいよね。。 連番ファイル桁揃え http://www.vector.co.jp/soft/win95/util/se208153.html ざっと見た感じ、イケそうですが…どうでしょう?
その他の回答 (2)
ウィンドウズ 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>
お礼
ありがとうございます。でも難しいですね。私には無理かも・・・
- papa2010
- ベストアンサー率26% (50/187)
ファイル名変換一括ソフトを使うと良いですよ^^ http://www.vector.co.jp/soft/win95/util/se397494.html 操作は使っていればわかってきます^^
補足
早速の回答ありがとうございます。いくつかの変換ソフトを使用してみたらソフトに取り込むときにすでに順番が変わってしまいそのままファイル名を連番をふっていっても結局順番が変わってしまいます。このソフトで解決できますか?
お礼
ありがとうございます。早速試してみます。
補足
ありがとうございます。早速試してみます。