• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイル名の自動変換のオプションについて)

ファイル名の自動変換オプションについて

このQ&Aのポイント
  • ファイル名の自動変換において、順番を保ったまま変換する方法について教えてください。
  • 通常のアプリを使用すると、ファイル名の順番が変わってしまう問題があります。
  • 順番を保ったままファイル名を変換するためのアプリや方法を教えてください。

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

  • ベストアンサー
  • NuboChan
  • ベストアンサー率47% (785/1650)
回答No.2

変名ソフトを利用する  ALLRename(お~瑠璃ね~む) https://freesoft-100.com/review/all-rename.php 1.txt 11.txt 12.txt を 01.txt 11.txt 12.txt なら、 1-9のtxtを選択して  文字追加>前から0文字目に0を追加 > 実行 ---------------------------------------- a (1).txt a (2).txt a (3).txt a (101).txt を 001.txt 002.txt 003.txt 101.txt なら 候補を選択して   文字削除>先頭から2文字削除 > 実行  文字削除>後ろから1文字削除 > 実行  文字追加>前から0文字に00を追加 > 実行 (101は、必要なし)

mao2004
質問者

お礼

ありがとうございます。 他の方みたいなプログラムも挑戦してみたいと思いますが、まずは、手元にある大量のモノを処理しないといけないので、紹介していただいたフリーウェアを試してみたいと思います。 助かりました。

その他の回答 (3)

  • UY-Scuti
  • ベストアンサー率85% (17/20)
回答No.4

下記を対象のファイルがある場所でバッチファイルとして実行。 powershell -c ^ ls *.txt ^| %% {^ ren $_.Name -New ([regex]::replace(^ $_.BaseName,'\d+',{'{0:D2}' -f [int]$args.Value}^ )+$_.Extension)^ } ******************************** a (1).txt , a (2).txt 等のファイルの場合は、下記を対象のファイルがある場所でバッチファイルとして実行。 powershell -c ^ ls *.txt ^| ? {^ $_.Name -match '\(\d+\)'^ } ^| %% {^ $a=[regex]::Matches($_.BaseName,'\d+');^ $b='{0:D3}' -f [int][string]$a.Value+$_.Extension;^ ren $_ -New $b^ }

mao2004
質問者

お礼

ありがとうございます。 ktedsさんへのお礼と同じになりますが、powershellの例題を参考にさせていただきます。 もう少しプログラミングも勉強してみようと思います。 ほんと、ありがとうございました。

  • kteds
  • ベストアンサー率42% (1882/4440)
回答No.3

Win10標準でのPowershellでの処理例です。 g:\folder1 とか g:\folder2 のPATH部分のみを、自分の環境に合わせて、 コピぺして実行すればいいです。 (1)ファイル名の数字桁数を揃える処理。 任意の桁数で左ゼロ詰めを行なえばいいです。 g:\folder1 フォルダにtxtファイルが在るものとしています。 padleft(4,"0")で左ゼロ詰め4桁としています。(左ゼロ詰め桁数は任意の桁数を指定してください) $a=get-childitem g:\folder1\*txt $cnt=0; $a | foreach{$newname = $a[$cnt].basename.padleft(4,"0") + $a[$cnt].extension; rename-item $_ -newname $newname; $cnt+=1} (2) a(数字).txt とか z(数字).txt とか (数字).txt のようなファイル名の数字部分を抜き出して、 ファイル名を 数字.txt のように変更する。 変更後は上記(1)と同じ方法で任意の桁数で左ゼロ詰めを行なえばいいです。 g:\folder2 フォルダにtxtファイルが在るものとしています。 $b=get-childitem g:\folder2\*.txt $cnt=0; $b |foreach{$newname = $b[$cnt].name.substring($b[$cnt].name.indexof("(")+1,($b[$cnt].name.indexof(")")-$b[$cnt].name.indexof("("))-1) + $b[$cnt].extension; rename-item $_ -newname $newname; $cnt+=1}

mao2004
質問者

お礼

ありがとうございます。 MS-DOS時代からパソコンをいじっているので、簡単なバッチ処理は出来るのですが、powershellでの処理は未経験なので、今ひとつプログラミングの肝がわかっていませんでした。教えていただいた例題を参考にがんばってみます。

  • DESTROY11
  • ベストアンサー率23% (805/3492)
回答No.1

バッチファイルを作って常用しています。 ren 0.txt 00.txt ren 1.txt 01.txt みたいに0から9まで作ってあり、ファイルと同じフォルダに置いて実行するだけ。 2秒で終わります。

mao2004
質問者

お礼

ありがとうございます。 でも、これじゃダメなんです。 1000も2000もファイルとして存在するので…

mao2004
質問者

補足

勢いで、お礼を投稿してしまい、尻切れトンボ似なりました。 必ず同じ名前にもなっていないのです。 aがついていたり、無かったり

関連するQ&A