ファイル名を変換させる為の簡単に行う手段を教えてください。直接方法を書いてください。


変換の条件ですが、
・A.jpgというファイルをB.jpgというファイル名に変換させます。
・複数のファイルをまとめて自動変換できる事(200ファイル)
・変換前、変換後の名称の対比はEXCELデータを使います。
・Aの名称を付けたフォルダの中にB.jpgが入るようにする事。(A.jpgにあたる200ファイルは同一フォルダ内にあります)

ファイルの変換、フォルダの生成の順番は問いませんが、極力自動で出来るような
方法、順番を教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/10/25 00:37:58
  • 終了:--

回答(10件)

id:Setiablue No.1

Setiablue回答回数122ベストアンサー獲得回数02004/10/25 00:44:52

ポイント10pt

エクセルのマクロ(VBA)を使用し

FileSystemObject オブジェクトを

使用すれば可能だと思います。

id:fuku_san

そうなんですか。こんな方法があるんですね。

難しそう・・・というか何から手をつけていいのか。

あー、マクロかけるようになったらいいな〜。

2004/10/25 23:52:19
id:hnd_info No.2

hnd_info回答回数329ベストアンサー獲得回数22004/10/25 00:46:46

ポイント10pt

http://www.vector.co.jp/soft/win95/util/se074425.html

FileRenamer2000(Windows95/98/Me / ユーティリティ)

FileRenamer2000は如何でしょうか。

フリーウェアでお望みの処理が可能です。

私もデジカメのファイル名を一括変換するのに使用しています。

http://www.vector.co.jp/vpack/filearea/win95/util/file/name/seq/...

Download: Windows95/98/Me用ソフト > ユーティリティ > ファイル管理 > ファイル名変更 > 連番

id:fuku_san

ありがとうございます。

変換後のファイル名を連番にさせるものでしょうか。

変換後のファイル名も各々任意の文字列にしたいのです。

その為にexcelデータで用意した変換前と変換後のファイル名に合わせて各々置き換えしてくれるといいのですが。そんな昨日はプログラムになるんですかね〜。

2004/10/26 01:52:36
id:Rousseau No.3

Rousseau回答回数666ベストアンサー獲得回数02004/10/25 00:55:42

ポイント10pt

http://www.vector.co.jp/soft/win95/util/se230280.html

FNCVT(Windows95/98/Me / ユーティリティ)

このソフトなんかいかがでしょうか?

id:fuku_san

「変換制御文による名称変換」という機能は

私が望んでいるものかな?

2004/10/26 01:55:06
id:YasudaS No.4

YasudaS回答回数351ベストアンサー獲得回数52004/10/25 01:22:05

ポイント10pt

http://www.atmarkit.co.jp/fdotnet/dotnettips/046filecopy/filecop...

@IT:.NET TIPS ファイルをコピー/削除/リネーム/移動するには? - C#

同じB.jpgにすると上書きされますが、それでもよいのでしょうか?

でしたら簡単ですが...

わたしは、シェルスクリプトで名前を順番名にしています。

#!/bin/sh

A=0

for i in `ls -1` ; do

mv $i B$A.jpp

A=`expr $A + 1`

done

とかね。スクリプトにできると思いますよ。man sh あたりをどうぞ

id:fuku_san

すみません。説明が足りないんですよね。

文字列A.jpg→文字列X.jpg

文字列B.jpg→文字列Y.jpg

文字列C.jpg→文字列Z.jpg

以上の内容を200個のファイルで自動で行いたいと考えています。

この文字列の対比リストはexcelデータになります。

この条件ですと、どうですか?

2004/10/26 01:58:52
id:dancing No.5

dancing回答回数5ベストアンサー獲得回数02004/10/25 01:29:19

ポイント10pt

このようなソフトを用いてはいかがでしょうか?

id:fuku_san

私が4でコメントしている事はできますでしょうか?

2004/10/26 02:00:14
id:noboru No.6

noboru回答回数94ベストアンサー獲得回数02004/10/25 02:10:15

ポイント10pt

私だったら Perl 使っちゃいますね。Excel データを CSV 型式出力してそれを Perl スクリプトに読み込ませて実行させます。Windows のコマンドプロンプトからこんな感じ。

perl -ne ”@f=split/,/;rename $f[0], $f[1];” file.csv

id:fuku_san

perlですか・・・

うーん、難しい。

2004/10/26 02:00:58
id:wongy No.7

wongy回答回数11ベストアンサー獲得回数02004/10/25 06:40:01

ポイント10pt

http://www.vector.co.jp/search/re_0124.html

ソフトナビ:リネーム

フリーソフトでいくつか出ていますのでこれらの中から使い勝手の良いものを選ぶと良いのでは?

OSがわからなかったのですが、マック用もあります。

id:fuku_san

探しているのはWINDOWS用でOKです。

とりあえず、次に行きます。

2004/10/26 02:03:06
id:kmyken1 No.8

kmyken1回答回数366ベストアンサー獲得回数22004/10/25 08:46:09

ポイント40pt

URLはバッチファイルを使った処理の一例を示したサイトです。

エクセルにはお詳しいようですから、エクセルとバッチファイルを使ったファイル名変換をお勧めします。

A列にはファイル個数分だけ、ren とだけ入れます。縦方向コピーが便利です。B列に元ファイル名、C列に変換後のファイル名を入れて、それ以外の列には何も入れずに、タブ区切りで保存してください。

そのファイルをテキストエディタで開き、タブを全てスペースに全置換し、rename.bat という名前で保存します。(ファイル名は任意ですが、.batがポイントです。)保存箇所は変更したいファイルがあるフォルダにしてください。

あとはエクスプローラからその.bat のついたファイルを開くだけで作業完了です。

これならエクセルファイルをそのまま使えて便利です。念のため、ファイル全体のバックアップコピーを作ってから作業してください。

id:fuku_san

これはわかりやすい!!

それに簡単ですね!!

やってないから、まだわかりませんが、

こんな簡単でいいのか?!と思うくらい

理解できました。

明日、試してみます。

ありがとうございます。

2004/10/26 02:07:05
id:maccjil No.9

maccjil回答回数2ベストアンサー獲得回数02004/10/25 09:55:02

ポイント10pt

http://www.vector.co.jp/vpack/filearea/win/util/file/name/seq/

Download: Windows > ユーティリティ > ファイル管理 > ファイル名変更 > 連番

ここのへんをあたってください

id:fuku_san

前出ですね。

かゆい所にまでは届いてないようです。

2004/10/26 02:08:15
id:EddyYamanaka No.10

EddyYamanaka回答回数385ベストアンサー獲得回数12004/10/25 16:39:33

ポイント40pt

http://www.hatena.ne.jp/1098632278#

ファイル名を変換させる為の簡単に行う手段を教えてください。直接方法を書いてください。 変換の条件ですが、 ・A.jpgというファイルをB.jpgというファイル名に変換させ.. - 人力検索はてな

Excelには

−−−−−−−−−−−−−−

 | A | B | C |

−+−−−+−−−+−−−+

1|A1.jpg|B1.jpg|

−+−−−+−−−+−−−+

2|A2.jpg|B2.jpg|

−+−−−+−−−+−−−+

:| : | : |

と入ってるとします。

”.¥A1.jpg”を”.¥A1¥B1.jpg”にコピーするとします。

Excelのマクロに以下を登録して実行します。

−−−−−−−−−−−−−−−−

Dim iRow As Integer

Dim sSrc As String

Dim sDes As String

Dim sDir As String

Dim iFn As Integer

iRow = 1

iFn = FreeFile

Open ”r.cmd” For Output As #iFn

Do

 sSrc = Cells(iRow, 1)

 If Len(sSrc) = 0 Then Exit Do

 sDes = Cells(iRow, 2)

 sDir = Left$(sSrc, Len(sSrc) - 4)

 Print #iFn, ”md ””” + sDir + ””””

 Print #iFn, ”copy ””” + sSrc + ””” ””” + sDir + ”¥” + sDes + ””””

 iRow = iRow + 1

Loop

Close #iFn

−−−−−−−−−−−−−−−−

カレントに”r.cmd”ができるので、コマンドラインでそれを実行します。

id:fuku_san

マクロの使い方を理解していないので、

出来るかどうかは定かではありませんが、

やってみます。

この方法を使うと一番狙ったとおりの事ができそうですね。

Aという名前のファイルをAという名前のフォルダを生成して、その中にBという名前にファイル名を変換できるという事だと思いますが、あたってますか?

だいぶ、集まりましたので、明日にでも試してみます。

ご協力いただいた皆さん、ありがとうございました。

2004/10/26 02:13:20
  • id:kmyken1
    質問を誤解していました。

    バッチファイルとエクセルを使った方法について回答した者です。「Aという名前のファイルをAという名前のフォルダに入れて」の部分をきちんと理解せずに回答してしまいましたが、たくさんのポイントをいただきありがとうございました。

    もちろんエクセルで作ったファイルをテキストエディタで開いて全置換という方法を使えば、お望みのことはできます。ちょっとややこしい手順が必要ですが…

    もしご関心があればコメントしてください。数日以内にこちらに載せますので。
  • id:fuku_san
    ありがとうございます。

    みなさんのアドバイスからいろいろやってみました。
    一番簡単だったのが、kmyken1さんのバッチ方式でした。
    ただ、フォルダも自動生成してくれたほうがよさそうです。^^

    よろしかったら、手順をコメントいただけますでしょうか。
    よろしくお願いします。



  • id:kmyken1
    Re:ありがとうございます。

    ややこしいので、ポイント送信にコメントをつけてお送りしておきます。ご参照下さい。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません