電子書籍の厳選無料作品が豊富!

ファイルをリネームしたんですが、いいフリーソフトはないでしょうか?


ファイル名が

***(smxxx).mp4(もしくはflv)

となっているのを、

[smxxx]***.mp4(もしくはflv)

という風に書き直したいんです。
***は任意の文字列、xxxは数字です。


いい方法が無いならFlexible Renamerでなんとかやっていこうとおもうので、Flexible Renamerでいい方法があるならそちらも教えて欲しいです。

A 回答 (8件)

No.3 , No.5 です。


ファイル名に空白が含まれているのかな?
以下で試してみてください。

for /F "tokens=1-3 delims=()" %a in ('dir /b "*(sm???).mp4"') do ren "%a(%b)%c" "[%b]%a%c"

for /F "tokens=1-3 delims=()" %a in ('dir /b "*(sm???).flv"') do ren "%a(%b)%c" "[%b]%a%c"
    • good
    • 0

#2です。



>C列に
="["&MID(B1;5;5)&"]"&LEFT(B1;3)&RIGHT(B1;4)

失礼、上記で RIGHT(B1;4) ではなく RIGHT(B1;5) でした。訂正してください。
RIGHT(B1;4)だと [smxxx]***mp4 となって拡張子のピリオドが抜けてしまいます。

エラー 508:
OpenOffice Calc で カッコ内の数式で、セミコロン ; ではなくカンマ 、 を入力したときに発生するエラーです。Excelの場合はカンマを使うのですが、OpenOffice Calcではセミコロンです。

当方では、上記の数式をOpenOffice Calc 3.2.0 にコピペすると正常に変換しています。
確認してください。
    • good
    • 0

設定が正規表現になってないと ちゃんと置換できないよー



括弧込みなら
(.+)\((sm\d\d\d)\)\.(mp4|flv)$
[$2]$1.$3

検証してないからうまくいかなかったらヘルプの正規表現のとこ見ながらどれが何を指定してるか理解するとどう直すのか見えるとおもう

そうそう、この書き込みの「\」が斜線に見えてるなら「¥」と同じだから。
    • good
    • 0

No.3です。


> コマンドプロントを使ったことが無いので失敗しました……
>
> コマンドプロントを起動
> ↓
> パス入力
> ↓
> 回答内容を入力
>
> でやってみたんですけど出来ませんでした…

どういう風に入力して、どうなってどうできなかったか具体的に書かないとわからないのですが、
よく見直してみたら確認のためのecho文が入ったままでした。スミマセン!! ”echo” は不要です

for /F "tokens=1-3 delims=()" %a in ('dir /b "*(sm???).mp4"') do ren %a(%b)%c [%b]%a%c

for /F "tokens=1-3 delims=()" %a in ('dir /b "*(sm???).flv"') do ren %a(%b)%c [%b]%a%c


コマンドプロンプトの操作が不慣れな場合、以下のようにやってみてください。
1.スタートメニューからコマンドプロンプトを起動
2.pushdとスペース(空白)を入力
3.リネームしたいファイルの入ったフォルダをエクスプローラからコマンドプロンプトへドラッグ&ドロップ
4.pushd (ドロップしたフォルダのパス)と表示されるのでENTERを押す。
5.for /F "tokens=1-3 delims=()" %a in ('dir /b "*(sm???).mp4"') do ren %a(%b)%c [%b]%a%c を入力
(もしくはこの書き込みの部分をコピーして、コマンドプロンプト内でマウスの右クリックで貼り付け)
6.ENTERを押す。

お手数ですがもう一度お試しくださいね。
ちなみにsmのあとの数字は3桁でいいんですよね?桁数が不定なら???→*に変えてみてください。

この回答への補足

返信遅くてすみません…

ご丁寧にお教えくださりありがとうございます。
ただ、一部のファイルが

コマンドの構文が誤ってます

とでてリネームされません
上手く行くファイルと上手くいかないファイルがあるみたいです……
ファイルの名前が問題だったりするんでしょうか?

補足日時:2011/06/11 23:23
    • good
    • 0

#2です。


OpenOfficeの場合:C列には以下の式を埋め込みます。
    A列      B列             C列
1行 ren ***(smxxx).mp4(もしくはflv)  ="["&MID(B1;5;5)&"]"&LEFT(B1;3)&RIGHT(B1;4)

Excelの場合、
    A列      B列             C列
1行 ren ***(smxxx).mp4(もしくはflv) ="["&MID(B1,5,5)&"]"&LEFT(B1,3)&RIGHT(B1,4)

*A列、C列は1行目をコピーし必要な行分貼り付けます。

*B列には、変換元のファイル名リストを貼り付けるのですが、以下の方法で取得します。

1)エクスプローラで目的のファイルが保存されているフォルダを開きます。
2)上記1)のパスをコピーします。
・コピーの操作法:パスの範囲をマウスでドラッグ反転>マウス右クリック>「コピー」クリック。
3)コマンドプロンプトを開きます。
4)コマンドプロンプトで、元ファイルのあるドライブ名を入力
・ d: [Enter]   ・・・・ [Enter]は、”Enterキー”を入力
5)コマンドプロンプトで、cd パス [Enter]
・パスは、マウス右クリックし現れたサイドメニューで[貼付け]をクリックする。
6)コマンドプロンプトで、dir * /b/a-d > list.txt [Enter]
7)メモ帳やテキストエディタで list.txt を開き、ファイルリストを全てコピーします。

これを、上記B列に貼り付けます。

以上を、A~C列・1~必要行コピーし、テキストファイルに貼付けます。
そしてタブをスペースに置き換えます。
そして、名前を付けて保存します。(以下#2を参照)

全てプログラムでやるにはセンスが必要で初心者向けでは有りませんが、上記方法をDOSプログラミングができない初心者に教えたところ実行できているので、手数は必要ですが簡単なのでは無いでしょうか?

この回答への補足

毎度返信遅くてすみません…

6)コマンドプロンプトで、dir * /b/a-d > list.txt [Enter]

のところで詰まりました
Enterk-入力しても何も起こらないんですが……どこがいけなかったんでしょう?

補足日時:2011/06/11 23:18
    • good
    • 0
この回答へのお礼

すみません補足のは出来ましたんで無視してください…


C列に

="["&MID(B1;5;5)&"]"&LEFT(B1;3)&RIGHT(B1;4)

と入力したら

エラー:508

とでたんですが…

お礼日時:2011/06/12 00:04

コマンドプロンプトで以下のように入力すると、カレントディレクトリ内で質問の条件でリネームします。



for /F "tokens=1-3 delims=()" %a in ('dir /b "*(sm???).mp4"') do echo ren %a(%b)%c [%b]%a%c


for /F "tokens=1-3 delims=()" %a in ('dir /b "*(sm???).flv"') do echo ren %a(%b)%c [%b]%a%c

この回答への補足

コマンドプロントを使ったことが無いので失敗しました……

コマンドプロントを起動

パス入力

回答内容を入力

でやってみたんですけど出来ませんでした…
すみませんがどうやったらいいか教えてください…

補足日時:2011/06/06 22:34
    • good
    • 0

私は、このような目的にはDOSのバッチを使っています。


フォルダ名などに program files などのスペースを伴う場合には、VB Scriptを使っています。

しかしDOSの方が簡単なので、名前を変更したいファイルを一時、フォルダ名にスペースを含まない例えば C:\temp に移し、DOSバッチファイルによりファイル名の変更を行います。

手順
(1)エクセル(フリーならOpenOffice Calc)で
関数を使って、以下のようなリストを作成します。

ren ***(smxx1).mp4(もしくはflv) [smxx1]***.mp4(もしくはflv)
ren ***(smxx2).mp4(もしくはflv) [smxx2]***.mp4(もしくはflv)
ren ***(smxx3).mp4(もしくはflv) [smxx3]***.mp4(もしくはflv)
ren ***(smxx4).mp4(もしくはflv) [smxx4]***.mp4(もしくはflv)
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
ren ***(smxxn).mp4(もしくはflv) [smxxn]***.mp4(もしくはflv)

注)上記・・・・・は、上と同様のコマンドを必要なだけ記述することを意味します。

(2)これをエディタにコピー・ペーストしテキストファイルとします。
この時、タブをスペースに変換しておきます。

(3)そのテキストファイルを上記ファイルがあるフォルダ C:\temp に、go.bat などの名称で保存します。

(4)コマンド・プロンプトから、 C:\temp\go.bat [Enter] と手打ちするか、エクスプローラを使って実行します。

この回答への補足

遅くなりすみません。

すみません、エクセルはあまり使ったことが無いのでよく分かりません……
できればそういった表の作り方をお教えしてくれませんでしょうか?

あと()内のsm以降の数字は完全にランダムです…

補足日時:2011/06/06 22:25
    • good
    • 0

「正規表現」というのを調べると良いよ


FlexibleRenamerにはそれを使ったrenameができるから。

希望のリネームは正規表現を使うのが良さそうだし
正規表現は覚えると他のリネームやテキストの置換の時に重宝するから
ちょっとやってみたらどうかな

http://www.google.com/search?hl=ja&q=%E6%AD%A3%E …
    • good
    • 0
この回答へのお礼

遅くなりすみません。

正規表現で検索は出来たんですが、置換を質問のようにする方法がわかりません……
どのようにすればいいんでしょうか?

お礼日時:2011/06/06 22:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!