• ベストアンサー

複数のhtmlファイルの中身を置換したいんです

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

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

  • ベストアンサー
noname#140925
noname#140925
回答No.2

単純に中身を置換したいだけで、プログラムを組むのが目的では無いのなら、普通にテキストエディタで出来ますが。 有料ので良ければ秀丸エディタ、無料のが良ければサクラエディタ等を使えば、grep置換で一発で出来ますけど。 [参考]秀まるおのホームページ(サイトー企画)-秀丸エディタ http://hide.maruo.co.jp/software/hidemaru.html [参考]サクラエディタ Download http://members.at.infoseek.co.jp/sakura_editor/snapshot.html

bokenoki
質問者

お礼

ありがとうございました。結局ある方からVBSでのプログラムを教えてもらうことができ、解決しました。教えていただいたソフトも試してみようと思います。

bokenoki
質問者

補足

すみません、分かりにくいかと思って「多くのファイルをいっぺんに編集したい」と書きましたが、本当は、 (1)ある一つのファイルの一部を置換して上書き保存  例:「安部」→「福田」 (2)そのファイルをあるフォルダAへコピー (3)同じファイルを再度置換  例:「福田」→「麻生」 (4)さっきコピーしたのとは別のフォルダーBにコピー (3)同じファイルを再度置換  例:「麻生」→「鳩山」 (4)さっきコピーしたのとは別のフォルダーCにコピー というようなことを20数回繰り返す一連の動作を1つにまとめたいということなのです。編集するファイル名を「総理.htm」とすると、「総理.htm」を開いて「安部」→「福田」の置換をして上書き保存するプログラムを「Abe_to_Fukuda.vbs」(VBSで書いたとして)、同じく「福田」→「麻生」を「Fukuda_to_Asou.vbs」、「麻生」→「鳩山」を「Asou_to_Hatoyama.vbs」としますと、バッチのイメージとしては、 Abe_to_Fukuda.vbs copy 総理.htm c:/folderA/ Fukuda_to_Asou.vbs copy 総理.htm c:/folderB/ Asou_to_Hatoyama.vbs copy 総理.htm c:/folderC/ (以下続く) という感じです。 説明不備で申し訳ありません。よろしくお願いします。

その他の回答 (1)

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.1

そういうことができるソフトがあるから、そういうのを使えばよいのでは? Vector:Repl-Ace on .NET http://www.vector.co.jp/soft/winnt/util/se454202.html > VBSとやらを使うのがやはりベストなのでしょうか? VBSに限らずたいていのプログラミング言語で(手間の大小はありますが)ファイル置換は可能です。 なのでVBSは選択肢の一つではあるけど、あなたにとってどんな選択肢がベストなのですか? 覚える手間を考えると余りよい選択肢ではないように思えるのですが。 一応VBSはプログラミング言語なので自由度は高いですけどね。

bokenoki
質問者

お礼

ありがとうございました。結局ある方からVBSでのプログラムを教えてもらうことができ、解決しました。教えていただいたソフトも試してみようと思います。

関連するQ&A

  • バッチえファイルを編集するには??

    こんばんは。 初めて掲載します。 バッチファイルで、複数のあるファイルの中身の特定の文字列を一括編集したと思っているのですが、どのようにコマンドを組めばいいのでしょうか? コマンド、バッチは初めてなのでどのように組めばいいのか是非ともご教授願います。 例として、バッチを実行すると、 C:\temp\の下にtest1.xmlとtest2.xmlがあります。 バッチファイルを実行すると、その2つのファイルの中身のある特定の文字を編集("AAA"という文字列を"BBB"に)して保存する。 というような処理を行いたいです。

  • バッチファイルで複数のテキストファイルの置換

    バッチファイルで以下のような処理を行うことはできないでしょうか? フォルダ1以下の全てのテキストファイル内の abcde という文字列を あいうえお に置換して、上書き保存ではなく 元のファイル名+(編集済み).txt というファイル名で同じ場所に保存できないでしょうか。 バッチファイルで出来ない場合他の物でも構いません。 ――――――――――――――――――――――――――――― 処理前 フォルダ1   │   ├フォルダ2   │  └ファイル1.txt (内容:123abcde)   │   ├フォルダ3   │  └フォルダ4   │     └ファイル2.txt (内容:abcde123abcde123)   │   └フォルダ5      └ファイル3.txt (内容:456fghij) ――――――――――――――――――――――――――――― ↓ ――――――――――――――――――――――――――――― 処理後 フォルダ1   │   ├フォルダ2   │  └ファイル1.txt (内容:123abcde)   │  └ファイル1(編集済).txt (内容:123あいうえお)   │   ├フォルダ3   │  └フォルダ4   │     ├ファイル2.txt (内容:abcde123abcde123)   │     └ファイル2(編集済).txt (内容:あいうえお123あいうえお123)   │   └フォルダ5      └ファイル3.txt (内容:456fghij) ――――――――――――――――――――――――――――― こんな感じで出来ないでしょうか。 よろしくお願いします。

  • 置換コマンド

    freeBSD5.3を使用している初心者です。 あるディレクトリ以下の全ファイルに対し、一度に内容の文字を置換したいのですがうまくいきません。 例えば /hoge/aaa.txt /hoge/bbb.txt /hoge/ccc.txt と、/hoge以下に3ファイルがあり、このファイルにAAAという文字列があるなら、AAAをBBBにしたいと思っています。 sed s/AAA/BBB/g /hoge/* とすると、置換後の中身が表示はされますが、それに置きかわったファイルは/hoge/以下に保存されていません。(もとのAAAのまま) できたら、/hoge 以下の置換されたファイルを/hoge2以下に同じ名前で保存させたいと思っています。 どなたか是非アドバイスお願いいたします。

  • テキストファイルの一部置換したファイルをたくさん作りたい

    テキストファイル(a.txt)があるのですが このファイルの一部の文字列aaaをbbbに置換したファイル(b.txt)を作りたいです。 また文字列aaaをcccに置換したファイル(c.txt)も作りたいです。 続けてd.txtやe.txt・・・と作っていきたいですが簡単にできるフリーソフトはないでしょうか? 現状はa.txtを開いてaaaをbbbに置換して、別名で保存するのを繰り返し(10回以上)するので大変です。 このようなことが楽にできるフリーソフトがあれば教えてください。

  • 複数ファイルで置換

    1ファイル内で置換する方法はわかりますが、 複数ファイル内で特定文字列を一挙に置換する方法はわかりません。 ワード2002使ってます。 そのような方法はないのでしょうか? 別のソフトが必要なるという事になるのでしょうか? よろしくおねがいします。

  • 置換をバッチファイルで実行

    あるテキストファイルの中の文字列例えば「ABC」を「DEF」に置換する操作をバッチファイルで実行するにはどうすれば良いのでしょうか?

  • バッチファイルでテキストファイル内の特定の文字列をコンピュータ名に置換

    バッチファイルでテキストファイル内の特定の文字列をコンピュータ名に置換したい バッチファイルの記述方法について教えて下さい。 テキストファイル内に特定の文字列が存在していた場合、その文字列をバッチファイルを実行するPCのコンピュータ名で置換するにはどのように記述したら良いでしょうか。 なおPCはWindowsXPを使用しています。

  • バッチでiniファイルの編集

    バッチプログラムでiniファイルの編集をしたいのですが、 調べてはいるのですが、初心者の為困っています。 やりたいこと: 特定の文字列を見つけたら置換する 例 iniファイルの内容 ~~~~~~~ abcdef=789 123456=789 ~~~~~~~ 「789」を「xyz」に置換したい OS:Win2k この場合、どのようなコマンドを使用して 編集すれば良いのでしょうか? 宜しくお願い致します。

  • テキストファイルの中身を自動で置換したい

    VBA初心者なので説明不足な部分があると思いますがよろしくお願い致します 現在テキストファイルを開いてCtrl+Hで検索する文字列を検索 置換後の文字列を入力し置換しているのですが ファイル数が多く1つ1つ開いて置換するのがとても面倒です Excelで開けば良いのでは?と前にご意見をいただいたのですが Excelで開いてそこからの操作がよくわからず…。 できればボタン一つで自動的に置き換えられるようにしたいのですが どのようにコードを書けば良いのかまったくわかりません。 ・指定フォルダー内にある(1つまたは複数の)テキストファイル内の文字列をすべてセルに書き出す ・セルから特定の文字(例→【 ,F1 】)を検索し、特定の文字(例→【 ,A2 】)に置換する ・上書きして保存 という感じにしたいのですができますでしょうか? 無理そうでしたら大丈夫です 閲覧いただきありがとうございました

  • VBSで文字列の置換

    VBSまったくの初心者で、「そんなもんWebで調べろ」とお叱りを受けるのを承知でお聞きします。 C:¥置換¥あああ.txt のテキストファイル内にある文字列"ABC"を"DEF"に置換するVBSはどのように記述すればよいでしょうか?。 よろしくお願いいたします。

専門家に質問してみよう