• ベストアンサー

特定ファイル名を抽出し、移動するスクリプト

質問させていただきます。 スクリプトと同階層にaaaというディレクトリがあります。 そのディレクトリをオープンし、ファイル名の中にbbbbという文字列があるものだけをcccというディレクトリへ移動するスクリプトはどんな感じになるでしょうか? お時間のあるときで結構なのでご教授願います。

  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

<?PHP if ($dir = opendir("aaa/")) { while (($file = readdir($dir)) !== false) { if(preg_match("/bbbb/",$file)) rename("aaa/".$file,"./ccc/".$file); } closedir($dir); } ?>

wf3255
質問者

お礼

ありがとうございます。 勉強不足ですみません。

関連するQ&A

  • 条件分岐~同じファイル名がある場合は実行せず

    下記スクリプトにてカレントディレクトリにaaaaおよびbbbbという文字列が存在するファイルを./ccc/dddディレクトリに移行するということを行っています。 下記スクリプトでコピーの処理がありますが、 同じファイル名が./ccc/dddディレクトリに存在する場合、そのファイルについてのみコピーを行わないようにするスクリプトを考えております(同じファイルを何度も./ccc/dddディレクトリにコピーするという事を無くしたいため)。 どなたかお分かりでしたらご教授ください。 実際にスクリプトに追加していただけると助かります。 php4.3.2です。 ======== <?PHP if ($dir = opendir("./")) { while (($file = readdir($dir)) !== false) { if(preg_match("/aaaa/",$file)) { if(preg_match("/bbbb/",$file)) { copy("./".$file,"./ccc/ddd/".$file); } } } closedir($dir); } ?> ========

    • ベストアンサー
    • PHP
  • preg_match関数で正規表現の複数指定方法。

    ./aaaディレクトリ内においてファイル名に、『bbbb』及び『cccc』と言う文字列が含まれるファイルを./eeeディレクトリに移動させるスクリプトを考えております。 以下は『bbbb』のみを拾うようなスクリプトです。 ========= <?PHP if ($dir = opendir("./aaa")) { while (($file = readdir($dir)) !== false) { if(preg_match("/bbbb/",$file)) rename("./aaa/".$file,"./eee/".$file); } closedir($dir); } ?> ========= 上記は前にこちらで質問させていただき、正常に動くことを確認しております。 今回は『bbbb』及び『cccc』が含まれる場合に./eeeディレクトリに移動させることを考えております。 このような場合は『cccc』はどのよう記載すればよいのでしょうか?ご教授の程よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • ファイルの解凍及び名前変更保存方法

    sendファイルとして圧縮して配信されるファイルがあります。(例:aaa.send) このファイルはスクリプトと同階層にあるxxxというディレクトリ内に配信されます。 このファイルをバイナリモードで開き、 先頭の18バイトを削除 ↓ aaa.gzという名前に変換 ↓ 解凍 ↓ aaa.xmlというファイル名に変換 というスクリプトを考えております。 PHPは4.3.8です。 方法があればご教授ください。

    • ベストアンサー
    • PHP
  • シェルスクリプト(bash)によるファイルの編集

    シェルスクリプト(bash)によるファイルの編集についてのご相談です。 私にあまりスクリプトの知識がないので申し訳ございませんが、 どなたかお知恵を拝借させてください。 よろしくお願いします。 【条件】 ・以下のような文字列を含むファイルが複数あるとします。 ・そして、その文字列は、ファイル内の不特定の行に存在します。 ※[半角スペース]、[タブ]は実際には便宜上記載していますが、実際は 本当の半角スペース、タブが入ります。 AAA[半角スペース]BBB AAA[半角スペース]CCC AAA[タブ]BBB AAA[タブ]CCC 【やりたいこと】 このとき、 AAA[半角スペース]BBB および AAA[タブ]BBB の行の下に、それぞれ、 AAA[半角スペース]DDD  と   AAA[タブ]DDD を挿入したいのですが、これをスクリプト(コマンド)でどのように行えば よいのかわからずに困っています。

  • バッチファイルにてファイル名指定移動

    下記の質問に近いのですが、質問させていただきます。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2094137 ファイル名にaaaとbbbという文字列が含まれるファイルを cccフォルダに移動する場合はどのように記載したらよいのでしょうか? よろしくお願いいたします。 ※以下は上記質問URLを参考にaaaという文字列のみが含まれるファイルをcccに移動するバッチです。 ======= @echo off findstr /L /M "aaa" *.send >filelist.dat IF %ERRORLEVEL% EQU 0 FOR /F "delims=" %%i in (filelist.dat) do move "%%i" ccc del filelist.dat =======

  • PowerShellで特定ファイルを移動

    PowerShellを使って、特定のファイル(ファイル名に年度の入ったもの)を別のファイルに 移動させたいのですが、どうすればいいのでしょうか? フォルダ1 AAA.TXT BBB_20120309.TXT  ←このファイルだけをフォルダ2へ移動させたい CCC.TXT フォルダ2 DDD_20111231.TXT EEE_20101105.TXT よろしくお願いいたします。

  • 最新日付のファイルから【CCC】の文字列を抽出する方法を教えてください

    最新日付のファイルから【CCC】の文字列を抽出する方法を教えてください。 ディレクトリの中は下記の状態となっております。 -rwx------+ 1 ccc なし 41 Jun 17 13:18 bb_2345_5554.txt -rwx------+ 1 ccc なし 41 Jan 23 18:11 bb_2356_1457.txt bb_*_*.txtの数字部分がランダムとなっており、たくさんファイルがあり最新ファイルの文字列(ccc)のみを抽出する方法がわからなくて悩んでおります。 スクリプトで自動的に抽出する方法がわからなくて、どなたかご教授をお願いします。

  • テキストファイルの指定文字列表示

    あるブラウザにて、あるテキストファイルの有る部分を抽出して表示させるスクリプトを考えております。 テキストファイル自体は同階層にあり(./aaa.txt)、不定期に更新されます。内容は下記のような構成になっております。 <./aaa.txt> ========= 111111111111 222222222222 3333333333333 4444444444 (空行) 55555555 6666666 66666666 8888888 (空行) 9999999999999999999999 ・ ・ ========= このうち、111111111111を除いた2回目の空行までの全ての文字列をそのまま表示させたいのです。 php4.3.2です。 何か良い方法orスクリプトがあればご教授ください。

    • ベストアンサー
    • PHP
  • VBSでファイル名と同じフォルダを作成し、移動させる。

    はじめまして。こんにちは。ファイル名の取得、フォルダの作成、移動ができなくて困っています。 たとえばC:\testというフォルダの中にaaa1.txt aaa2.txt,aaa3,txt・・・zzz343.txtというようにファイルがランダムにあったとします。最初の3文字は英語と決まっています。そこでaaa1.txtやaaa2.txtがあればaaaというフォルダを同じ階層に作成し、aaa1.txtとaaa2.txtを新しく作成したaaaというフォルダに移動させる。これをすべてのファイルにたいして行いたいのですがどうすればいいのでしょうか? 参考になるURLやサンプルプログラムがありましたら教えて下さい。よろしくお願い致します。

  • リネームソフトを探しています

    次のような機能のあるリネームソフトを探しております。 1.フォルダ内のファイル名とファイル内の文字列を入れ替える。 (リネーム対象のファイルのファイル名の一部とファイル内の文字列はユニークに 特定出来る。) 例) ファイル名 aaaa bbbb cccc ファイル内の文字列 aaaa1234 bbbb5678 cccc9abc リネーム後のファイル名 aaa1234 bbb5678 ccc9abc この様なリネームが行えるソフトウェアはあるでしょうか? 環境はWindowsXPです

専門家に質問してみよう