• ベストアンサー

サブフォルダを含むある拡張子の複数のファイル全てを、指定したファイルに置換(上書き)するソフト

あるフォルダの配下の全てのフォルダ内にある、特定の拡張子のファイルを、指定した同じ拡張子のファイルに、(中身は問わず)置き換えたいのですが、そのニーズに対応したソフトをご存知でしたら、教えて下さい。 例えば、Aというフォルダ内のa00からa99までのサブフォルダ内にある、*.cgiというファイルを特定の●●.cgiに全て置換(上書き保存すること)したいのです。ちなみに、*.htmというファイルは全て異なる場合がありますので、ファイル内複数文字列の置換ソフトは使えません。。

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

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.2

★やりたいことは分かりました。 ・1つのフリーソフトではないと思います。  つまり、検索したファイルをコピーする機能はありますが、そのファイルに決まった  同じファイルを上書きする機能はやっぱり特殊機能かと思います。 ・でも複数のフリーソフトを組み合わせてバッチファイルを作成すれば実現は出来ます。  そこで、こちらでも質問のアドバイスをします。 ・バッチファイルを作成する場合は『*.cgi』というファイルをパス付きで検索します。  その後、そのパスの前に『COPY 000.cgi 』という上書きするファイル名の文字列を挿入すれば作成できます。  後は、この作成したバッチファイルをダブル・クリックすれば上書きが実行されます。 作成手順1: ・フリーソフトの『TreeToText』を起動します。←先に下の URL からダウンロード&解凍して下さい。 ・『ディレクトリ名』に検索対象のフォルダを選択するか、自分で入力して下さい。 ・『出力ファイル名』に作成するファイル名を選択するか、自分で入力して下さい。→バッチファイル名です。例:copy_cgi.bat など ・ラジオボタンは『パス情報』を選択します。 ・パターンは『*.cgi』と入力します。 ・『作成後に開く』にチェックします。 ・『隠しファイルも対象』にチェックします。 ・『すべてのファイルが対象』にチェックします。 ・『保存』ボタンを押します。→ディスク検索され作成されます。 作成手順2: ・『作成手順1』で作成した『copy_cgi.bat』をメモ帳などで開きます。→『作成後に開く』にチェックしているので自動的に開く。 ・1行目の[]で囲まれた行は削除します。 ・すべてを選択して、その内容をクリップボードへコピーして下さい。 ・フリーソフトの『ClipFan』を起動します。←先に下の URL からダウンロード&解凍して下さい。 ・『文字列挿入』ボタンの左にある『設定』ボタンを押します。  『1』を選択して挿入文字列は『COPY 000.cgi "』と入力して『行頭』を選択します。  『閉じる』ボタンを押して『文字列挿入』ボタンを押します。 ・また『文字列挿入』ボタンの左にある『設定』ボタンを押します。  『1』を選択して挿入文字列は『"』と入力して『行末』を選択します。  『閉じる』ボタンを押して『文字列挿入』ボタンを押します。 ・『クリップボードへの書き込み』ボタンを押します。 ・開いていたメモ帳などに貼り付けます。 ・編集した内容を上書きで保存します。 その後: ・『作成手順2』で編集した『copy_cgi.bat』というバッチファイルをダブル・クリックすると実行されいます。 ・以上。おわり。→バッチファイルの編集内容を一度確認してから実行して下さい。

参考URL:
http://www.h4.dion.ne.jp/~fht/dev/m_ttt.html,http://www2u.biglobe.ne.jp/~shunbook/omocha/clipfan.htm
cumin2000
質問者

お礼

別件があり、お返事遅くなってしまい、大変申し訳ありませんでした。。 バッチファイルの作成手順、丁寧に解説して頂き、ありがとうございました!!今回の問題だけではなく、今後も何かと使える方法ですね。。 本当に、ありがとうございました!!

その他の回答 (1)

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.1

★特殊処理すぎて見つからないと思います。 ・1回のみの処理ならば『バッチファイル』を作成して『COPY』コマンドで  置換(上書き)することが可能です。  『コマンド・プロンプト』から『DIR』コマンドの出力をリダイレクトして  バッチファイルを作成すれば可能です。→面倒ですが…。 ・今後、似たような処理を行う場合は VB Script などのスクリプトを作成すれば  いつでも簡単に実行できます。  質問者さんは VB Script を知っていますか?→補足要求です。 ・知っている場合は自作してみましょう。  自作できるのならば簡単なアドバイスをしますよ。 最後に: ・他のカテゴリで『ある拡張子のファイル全てを上書きするソフト』という質問を  していますね。回答者 No.1(SAYKA) さんと同じくもう少し詳しい置換法則を  補足してくれないとアドバイスが出来ません。→置換例をもうちょっと多めに  お願いします。補足する場合はね。 ・あと VB Script を作成する場合は  『コンピューター [技術者向け]』→『プログラミング』→『Visual Basic』の  カテゴリで質問してみましょう。→その場合は、この質問を締め切って下さい。 ・以上。おわり。→http://oshiete1.goo.ne.jp/qa2786343.htmlと対でやり取りを  行って下さい。

参考URL:
http://www.whitire.com/vbs/index.html
cumin2000
質問者

補足

ご回答、ありがとうございます! はい、同じ質問を別カテでもしておりました。。 今、その別カテで教えて頂いた方法を検討中ですが、何分プログラミングをしてたのがかなり前でしたので、記憶を辿っております。。 バッチ処理は良く聞くのですが、上記シェルと同じようなことですかね??バッチファイル作成はしたことはないです。あとVBスクリプトもやったことないです。。 私の説明が拙くて申し訳ありません。 やりたいことは、全サブフォルダ内にある、cgiという拡張子のファイル(名前はそれぞれ違ってるし、中身もそれぞれ違う。例;001.cgi~999.cgi)を、ある(例000.cgi)cgiファイルに(名前も、中身も。)置き換えたい(上書きしたい)んです。 いわゆる、通常の上書きコピーです。ですので、何かシェルのようなプログラムを組めば、簡単だろうとは思うのですが、こういうニーズは他にもありそう(特殊な処理でもなさそう??)だったので、何かフリーソフトがあれば嬉しいと思ったのですが。。 やはり特殊でしたかね…。フリーソフトでご存じなければ、質問を締切った方が良さそうですね。(VBスクリプトは初心者でも簡単なら別ですが。)

関連するQ&A

  • ある拡張子のファイル全てを上書きするソフト

    あるフォルダにある全てのフォルダ内にある、特定の拡張子のファイルを、指定した同じ拡張子のファイルに、(中身は問わず)置き換えたいのですが、何か良いソフトはありませんか。 例えば、Aというフォルダ内のa00からa99までのサブフォルダ内にある、*.cgiというファイルを特定の●●.cgiに全て置換(上書き保存すること)したいのです。ちなみに、*.cgiというファイルは全て異なるため、ファイル内の複数文字列を置換するソフトは使えません。。 どうぞ、よろしくお願いいたします。

  • 特定のフォルダー内の全てのファイルを削除するには

    お世話になります。 Perlで特定のファイルをunlinkで削除することは、したことがあるのですが、特定のフォルダ例えばCGIプログラムのあるフォルダ配下の「./temp」フォルダー内の全てのファイルを削除するプログラムは、どのように記述すればよいのですか?よろしくお願いします。

    • ベストアンサー
    • Perl
  • 複数のhtmlファイルの中身を置換したいんです

    すみません、プログラミングド素人です。 この場所に投稿すべき案件なのかどうかもよく分かっていないのですが、よろしくお願いします。 既存のhtmファイルを編集する場合、ホームページ作成ソフトまたはエディタでファイルを開いて、編集したら上書き保存するというのは分かるのですが、多くのファイルをいっぺんに編集したいことがあります。編集内容は中身の文字列を一部置換するというもので、置換する内容はどのファイルに対しても同じです。例えばaaa.htm、bbb.htm、ccc.htm、...という複数のファイルの中に記述されている「ブッシュ」という文字列をすべて「オバマ」に置換するというような感じです。一つ一つ手作業でやっているととても大変なので、まとめてできる方法はないかなというのが投稿の動機です。バッチでできないかと思ってちょっと調べてみましたが、バッチでファイルの中身を書き換えるのはどうも無理のようで、同じようなネット上の質問に対する回答として「VBSでやってみては?」というコメントをいくつか目にしました。プログラミングはほとんどやったことが無いので、できるだけ簡単なやり方の方が良いのですが、VBSとやらを使うのがやはりベストなのでしょうか?それほど難しくないのなら挑戦してみようと思います。よろしくお願いします。

  • サブフォルダ内のファイルを開くソフトありますか

    Windows XPを使っています。 1つのフォルダの中に100個ぐらいのサブフォルダがあり、各サブフォルダに数個のファイルが入っています。このファイルのすべてを1つのフォルダにまとめて整理したいのです。現在、この作業をサブフォルダを1つずつ開いて手作業で行っているのですが、一括で作業できるような便利なフリーソフトがありましたら教えてください。

  • サブフォルダのファイルごと「送る」ことができる手段ありますか?

    Aというフォルダのサブフォルダで A-A,A-B.A-Cというフォルダがあるとします。 その中には無数のファイルがフォルダ内にそれぞれあるとします。 Aという親フォルダを「送る」して、clipnameというソフトでサブフォルダA-A.A-B.A-Cの中の沢山のファイルの 絶対ファイル名を一気にコピーしたいんですが、 そういう感じで「送る」ができる手段はありますでしょうか? つまり、Aという親フォルダを送るしたら、サブフォルダ内のファイルを全て「送る」するというような挙動をしたいということです

  • フォルダ内のファイルを新しいものだけ上書きするには?

    別々の場所で同じ階層構造のフォルダを使っており 編集するファイルは別々です。 それを管理するために2つのフォルダ階層の新しいファイルのみを 上書きしたいのですが、 (1)同名のファイルがあるときに新旧関係なく「上書き」するか聞いてくる (2)同名のフォルダがあるときは中身のファイルに関係なく「上書き」するか聞いてくる これらを自動的に新しいファイルを優先して上書きする方法はありませんか?

  • ◆指定フォルダ以下の全ての拡張子変換

    LINUX初心者です。 指定フォルダ以下全ての指定ファイルのファイル名及び拡張子を変換したい。 例えば、index.htmをindex.txtに変換させたいのですが。 以下のコマンドはカレント内のみで反映され、カレント以下のフォルダ内には反映されません。 $ for FILE in *.変更前拡張子;do mv -f $FILE ${FILE/.変更前拡張子/.変更後拡張子};done あるカレント内で実行するとそれに含まれるフォルダ以下全てにも反映させる方法はあるのでしょうか? 宜しくお願いいたします。

  • サブフォルダ配下も含めてファイルをソートしたい

    あるフォルダ配下のファイルを、サブフォルダ配下も含めてソートしたいのですが、いいツールをご存知 でしたら教えて下さい。OSはwindows2000と XPです。

  • 【コマンドプロンプト】複数フォルダのファイル名一括置換の方法について

    【コマンドプロンプト】複数フォルダのファイル名一括置換の方法について お世話になっております。 コマンドプロンプトを使用して、カレントフォルダ配下のすべてのフォルダに格納されているEXCELファイルの名称の最初に[LOCAL]という文字を加えたいと考えています。 ファイル一括置換を行うフリーソフト(ファイル名変換君など)では、可能なのですが、 対象のファイルは、バッチファイルで他のフォルダからファイルをコピーをしてきているため、ファイル名変更もコピーの際に一括でできないかと思い質問をさせていただきました。 現在、同じフォルダに格納されているファイルに対しては、下記にて実行はできています。 for %i in (*.xls) do ren %i [LOCAL]%i しかし、カレントフォルダの配下すべてのフォルダを対象にしたいため、下記のように変更すると、エラーとなってしまいます。 for /r %i in (*.xls) do ren %i [LOCAL]%i おそらく・・・変数%iに、ファイルのフルパスが格納されてしまい、思い通りの動作になっていないと推測しています。 どのように作成すればよいか教えていただけませんでしょうか。 よろしくお願いいたします。

  • サブフォルダ内含め全てのファイル名を一括置換するw

    サブフォルダ内含め全てのファイル名を一括置換するwindowsバッチ処理について ファイル名の「YYYYMM」部分を一括で変換したく以下の様なバッチ文を記載しました。 しかし置換処理がうまくいかず、ファイル名の後ろに入力文字列がくっついてしまいます。 set /p YYYYMM="年月を入力してください(yyyymm形式):" echo %YYYYMM% for /r %%f in ( * ) do call :sub %%f %YYYYMM% pause exit /b :sub echo %2 set fname=%~nx1 set fname=%%fname:YYYYMM=%2%% echo %fname% ren %1 %fname% goto :EOF 環境上、ファイル名リネームソフトやWindows Powershellを使うことができないため、何とかバッチ処理で楽をしたいのですがかなり煮詰まってしまい。。。 どなたかアドバイスをお願いできないでしょうか。 よろしくお願いいたします。

専門家に質問してみよう