リネームについて質問|CSVファイルや画像ファイルの特定箇所の文字列をリネームしたい
- PHP初心者が特定のフォルダ内にあるCSVファイル内や画像ファイル内の特定箇所の文字列をリネームする方法について質問します。例えば、CSVファイル内のファイル名に含まれる「_」を「a」に、「-」を「b」に置換したいです。また、該当のCSVファイルを開かずに、特定の列を指定して一括で置換する方法を知りたいです。
- 質問2では、特定のフォルダにある画像ファイルのリネームについて質問します。CSVファイル内と同様に、「_」を「a」に、「-」を「b」に置換したいです。また、元ファイルをコピーして別のフォルダにリネームしたファイルを保存する方法についても知りたいです。
- PHP初心者がCSVファイル内や画像ファイル内の特定箇所の文字列を一括でリネームする方法と、リネームしたファイルを別のフォルダに保存する方法について質問します。特に、CSVファイル内のファイル名の置換について、特定の列を指定して置換する方法を知りたいです。
- ベストアンサー
リネームについて
PHP初心者です。宜しくお願い致します。 リネームについて2点程質問があります。 1.特定フォルダ内にある全てのCSVファイル内の特定箇所の リネームについて列内に記入されているファイル名「123_4.jpg」 や「123-4.jpg」の「_」を「a」に「-」を「b」にすることは可能 でしょうか? できれば該当のCSVファイルを開かずに、特定の列を指定しその列に 記入されている全ての「_」と「-」を置換したいと思っています。 「123_4.jpg」→「123a4.jpg」 「123-4.jpg」→「123b4.jpg」 とこのような感じに。 2.特定フォルダ内の画像ファイルのリネーム 上記と同様に「_」を「a」、「-」を「b」置換 できれば、元ファイルをコピーして別のフォルダにリネームした ファイルを保存したいと思っています。 宜しくお願い致します。
- ken0109
- お礼率58% (10/17)
- PHP
- 回答数1
- ありがとう数0
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
結論から言えば可能です。 ただ、 >ファイルを開かずに修正 これは論理的に不可能です。 <?php $dhn = opendir("./"); while($file = readdir($dhn)) { $new_file = "_".$file; $old_file = $file; $fhn_r = fopen($old_file,"r"); $fhn_w = fopen($new_file,"w"); $flg = 0; while($arr = fgetcsv($fhn_r,",") ) { if($flg == 特定の行) $arr[特定の列] = str_replace("-","b",$arr[特定の列]); $output = join(",",$arr)."\n"; fwrite($fhn_w,$output); $flg++ } fclose($fhn_w); fclose($fhn_r); unlink($file); rename($old_file,$new_file); } closedir($dhn); ?> 何が判らないのか分かりません。
関連するQ&A
- エクセルの文字列順に画像をリネームしたい
csvデータにリネームしたい文字列と現在のファイル名があります。 A列にはリネームしたい文字列、B列には、現在のファイル名が順番に並んでいます。 これをどうにかしてリネームしたいのですが、何か良い方法はありませんでしょうか? A列リネームする文字列 | B列 現在のファイル名 -----------------------|------------------------ 1234 |010.jpg 2334 |030.jpg 4534 |abc.jpg 1258 |aaa.jpg 3134 |ddd.jpg
- ベストアンサー
- オフィス系ソフト
- フォルダ内にあるファイルの連番リネーム。
フォルダ内に決まった数(8枚)のJPG画像が入っていて、その8枚づつ画像の入ったフォルダがたくさんあります。 そのフォルダ内のJPG画像のファイル名はそれぞれ全て違うのですが、フォルダ内にある8枚のJPG画像を全て01.jpg~08.jpgに連番リネームしたいと思っています。 今まではエクスプローラー風フォルダツリーから1個1個フォルダを開けて、中身のJPG画像を全選択して連番にリネームという風にやっていましたが(Namery使用)、例えば中身を変更したいフォルダをD&Dしたらフォルダごとに8枚づつ連番を自動でつけてくれるようなソフト、またはそのような作業が可能なソフトがありましたら教えて下さい。 いくつか試してみましたが期待した結果は得られませんでした、よろしくお願いします。
- ベストアンサー
- フリーウェア・フリーソフト
- サブフォルダの中身ファイルを一括リネームしたい。
こんにちは 現在,フォルダの中に大量のサブフォルダ,その中に連番のファイルが入っているフォルダがあり,そのファイルの名前をリネームしようと思っています。 具体的には, ABC\a\01.jpg ABC\a\02.jpg ABC\a\03.jpg ABC\a\dat.txt ABC\b\01.jpg ABC\b\02.jpg ABC\b\03.jpg ABC\b\dat.txt ABC\c\01.jpg ABC\c\02.jpg ABC\c\03.jpg ABC\c\dat.txt といった具合です。 これを,一括で ABC\a\a-01.jpg ABC\a\a-02.jpg ABC\a\a-03.jpg ABC\a\a-dat.txt ABC\b\b-01.jpg ABC\b\b-02.jpg ABC\b\b-03.jpg ABC\b\b-dat.txt ABC\c\c-01.jpg ABC\c\c-02.jpg ABC\c\c-03.jpg ABC\c\c-dat.txt という風にリネームしたいのですが,サブフォルダの名前に対応したリネームソフトが見つかりません。 どなたか,良い方法,ソフトをご存じないでしょうか?
- ベストアンサー
- Windows 7
- フリーソフト 連番一発リネームの使い方
OSはVistaです。 フリーソフトの「連番一発リネーム」で、「置換するファイル:」の所に、例に習い「FILE_001.JPG ~ FILE_005.JPG」(ファイル数が5つなので)などと入力し検索ボタンをクリックするのですが、「置換するファイル名が無効です。」とエラーがでて先に進めません。どうすればよいのでしょうか? 宜しくお願いします。
- 締切済み
- フリーウェア・フリーソフト
- リネーム(ファイル名の前にフォルダ構造をつけたい)
ファイル名の前に、そのファイルが格納されているフォルダ名をつけるフリーソフトを見つけたのですが、何階層も上のフォルダまではできませんでした。 やりたいことは A\B\C\000001.TIF このような階層になっている場合 000001.TIFを A-B-C-000001.TIF …というファイル名にリネームしたいんです。 区切りは「-」でも「_」でも何でも良いのですが… そんなソフトはありませんでしょうか? ソフトじゃなくても、何か方法があれば教えてください(>_<)
- ベストアンサー
- フリーウェア・フリーソフト
- UNIXコマンドでフォルダ内のフォルダをリネーム
初めまして。 質問ですが、UNIXコマンドでフォルダ内のファイルを全てリネームする方法が分からないので教えて下さい。 ファイルの名前は全て同じ文字数で、[***_**_**.csv]となっています。(*は半角英数字です) リネームの内容としては、二つ目のアンダーバーからピリオドまでを消却したいと思っています。 例えばAWKコマンドで文字数から消却できるのでしょうか? 分かる方には簡単な質問で申し訳ありませんがお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- "Folder.jpg" にリネームしようとするとエラーになる
エクスプローラで "Image.jpg" を "Folder.jpg" にリネームしようとすると、 Image.jpg の名前を変更できません。指定されたファイル名は既に存在します。別の名前を指定してください。 というエラーが表示されます。 "Folder.jpg" というファイルは存在しないのですが、なぜでしょう?
- ベストアンサー
- Windows XP
- ある拡張子のファイル全てを上書きするソフト
あるフォルダにある全てのフォルダ内にある、特定の拡張子のファイルを、指定した同じ拡張子のファイルに、(中身は問わず)置き換えたいのですが、何か良いソフトはありませんか。 例えば、Aというフォルダ内のa00からa99までのサブフォルダ内にある、*.cgiというファイルを特定の●●.cgiに全て置換(上書き保存すること)したいのです。ちなみに、*.cgiというファイルは全て異なるため、ファイル内の複数文字列を置換するソフトは使えません。。 どうぞ、よろしくお願いいたします。
- ベストアンサー
- Windows XP
- ドラッグ&ドロップした順番でリネームしてくれるソフト
ファイルをそのソフトへドラッグ&ドロップした順番に そのファイルの名前を *****0001.jpg *****0002.jpg *****0003.jpg ・・・・ *****0135.jpg(*****は任意の文字列) などとリネームしてくれるソフトってないでしょうか?
- ベストアンサー
- その他(ソフトウェア)
- 一括で上書きリネームしたい
WindowsXP環境です。 例えば、ファイル名 「a.txt」 と 「a (競合コピー).txt」 というファイルが同じフォルダー内にあります。 「a.txt」が古いファイルで「a (競合コピー).txt」が新しいファイルです。 (競合コピー)とファイル名に付いた新しいファイルがいろんなフォルダー内にいくつもあります。 新しいファイルである「a (競合コピー).txt」を「a.txt」にリネームするフリーのソフトがありませんか? 元々ある「a.txt」の方は削除されてもリネームされても構いません。 リネーム後のファイル名が同じフォルダーに無ければリネームできるソフトは見つかるのですが、そうでない場合だと見つかりませんでした。 何かいい方法あったら教えてください。 なぜ、こうなったかというとDropboxで久しぶりにインストールし直して同期したら、Dropboxのサーバーにあった古いファイルがローカルのフォルダーに保存され、元々あった新しいファイルが(競合コピー)と付け加えられてしまいました。逆ならよかったのですが。。。 何かいいソフトか方法があれば教えてください。よろしくお願いします。
- ベストアンサー
- フリーウェア・フリーソフト