ファイル名リネーム
◇-?ファイル名リネーム-smappy-10/27-11:45(202)-No.463411 ┗?!Re:ファイル名リネーム...-pandora-10/27-12:45(201)-No.463414 ┗?!!Re:ファイル名リネーム...-smappy-10/27-12:50(201)-No.463416 ┗?!!!Re:ファイル名リネーム...-pandora-10/27-13:11(200)-No.463417 ┗?!!!!Re:ファイル名リネーム...-smappy-10/27-13:14(200)-No.463418
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
463411 | ファイル名リネーム | smappy | 2008/10/27-11:45 |
メーカー名:東芝 OS名:WindowsXp HomeEdition パソコン名:CX -- ファイル名のリネームについてなのですが、 ファイル数が膨大で、手動でやるのは大変なため、コマンドやツールなどがあれば教えていただきたいです。 元ファイル名 *****010507.MP3 *****010607.MP3 ↓ リネーム後 ○○○○070501.mp3 ○○○○070601.mp3 ファイル名の日付が 日、月、年 になっているのを 年、月、日 に直したいです。 |
▲このページのトップに戻る
463414 | Re:ファイル名リネーム | pandora | 2008/10/27-12:45 |
記事番号463411へのコメント smappyさんは No.463411「ファイル名リネーム」で書きました。 面白そうなので、こんな DOSバッチを作ってみました 以下の、この下から・・・この上まで をコピーして、renmp3.cmd とかいうファイル名で保存してください このcmdファイルを、MP3がたくさん入ってるフォルダにコピーして、 そこで、エクスプローラ上からダブルクリックしてください ご希望の日付変更ができます ただし、実行条件として ・rename対象は、ファイル拡張子がMP3 ・ファイル名は、*****010507.MP3 の形式になってること(限定条件) 「SET TARGETDIR=」の部分を、その上の行のように修正すると、フォルダを指定してrename実行させられます (修正後の例) SET TARGETDIR=D:\MUSIC_FOLDER 今は、本当にrename実行させないように、コメント化してますので、ためし実行してみてください 本当に実行させたい場合、次の修正をしてください :: rename実行 rem REN !ORGNAME! !RENNAME! ~~~ ↑ ここの rem の3文字を削除して、こう↓する :: rename実行 REN !ORGNAME! !RENNAME! 私のパソコン上で動作確認デバッグはしてますが、 念のため、ファイル類のバックアップをしてからに願います ::----- この下からコピー ----- @ECHO OFF SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION CLS ::RENAMEしたいフォルダ名をFULLPATHで(こんな具合に) :: TARGETDIR=D:\MUSIC_FOLDER SET TARGETDIR= CD /D "%TARGETDIR%" DIR /B %TARGETDIR% >FILEDIR.tmp FOR /F %%P IN (FILEDIR.tmp) DO ( SET ORGNAME=%%P SET RENNAME=!ORGNAME:~0,-10!!ORGNAME:~-6,2!!ORGNAME:~-8,2!!ORGNAME:~-10,2!!ORGNAME:~-4! IF /I "!ORGNAME:~-4!"==".MP3" ( echo FILE Rename: !ORGNAME! → !RENNAME! :: rename実行 rem REN !ORGNAME! !RENNAME! ) ELSE ( echo Not Rename: !ORGNAME! ) ) DEL FILEDIR.tmp /Q pause ::----- この上までコピー ----- |
▲このページのトップに戻る
463416 | Re:ファイル名リネーム | smappy | 2008/10/27-12:50 |
記事番号463414へのコメント わざわざ作成していただきありがとうございます! 何点か質問なのですが ・ファイル名は、*****010507.MP3 の形式になってること(限定条件) ***** のところは、文字数は実際は6文字だったり3文字だったりなのですが、 そのあたりの対応はどのような感じでしょうか? あと、 *****010507a.MP3 *****010507b.MP3 *****010507c.MP3 ↓ *****070501a.MP3 *****070501b.MP3 *****070501c.MP3 のようなリネームを行いたいとき、このプログラムを改変することで行えますでしょうか? |
▲このページのトップに戻る
463417 | Re:ファイル名リネーム | pandora | 2008/10/27-13:11 |
記事番号463416へのコメント smappyさんは No.463416「Re:ファイル名リネーム」で書きました。 すばやいですね もう書き込みに気づかれましたか。。。 >***** のところは、文字数は実際は6文字だったり3文字だったりなのですが、 >そのあたりの対応はどのような感じでしょうか? このバッチでは、ファイル拡張子の直前の 6文字(ddmmyy)を、yymmdd に入れ替えます したがって、その前がどうであろうと関係ありません >あと、 >*****010507a.MP3 >*****010507b.MP3 >*****010507c.MP3 > > ↓ > >*****070501a.MP3 >*****070501b.MP3 >*****070501c.MP3 > >のようなリネームを行いたいとき、このプログラムを改変することで行えますでしょうか? できます ただし、以下の二つの形式のファイルの同居(同じフォルダに入れる)はダメです プログラムからは、どっちがどのタイプなのか判断できない *****010507.MP3 *****010607.MP3 *****010507a.MP3 *****010507b.MP3 修正対象は、この行です SET RENNAME=!ORGNAME:~0,-10!!ORGNAME:~-6,2!!ORGNAME:~-8,2!!ORGNAME:~-10,2!!ORGNAME:~-4! 説明すると、 !ORGNAME:~0,-10! → ファイル名の、後ろから 11文字目までを取り出す (****の部分) !ORGNAME:~-6,2! → ファイル名の、後ろから 6文字目から 2文字取り出す (年の部分) !ORGNAME:~-8,2! → ファイル名の、後ろから 8文字目から 2文字取り出す (月の部分) !ORGNAME:~-10,2! → ファイル名の、後ろから 10文字目から 2文字取り出す (日の部分) !ORGNAME:~-4! → ファイル名の最後の 4文字を取り出す (ファイル拡張子の部分 .mp3) 取り出す位置は、数字で指定してるので、それを変更すれば自由に設定できます |
▲このページのトップに戻る
463418 | Re:ファイル名リネーム | smappy | 2008/10/27-13:14 |
記事番号463417へのコメント 早速ありがとうございます! 私が欲しかったものどんぴしゃのようです♪ 後ほど試してみたいと思います! また報告させていただきます♪ |
何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり
参考 | 回数 | 投稿日時 | 何か一言 |
---|