• 締切済み

ファイル内のある文字列以降を置換

よろしくお願いします。 OS: Windows Server 2003, MS-DOSコマンドによるバッチで、あるテキストファイル内を検索し、 ある文字列を見つけたら別のある文字列に置換する、という ものを検討中です。 findstr と for文を使用して試行錯誤していますが、 なかなかうまい方法にたどり着きません。 以前ここで教えていただいた http://okwave.jp/qa2602345.html を応用してできないか? ということについても考えているのですが、 なかなか難しいです。 具体的に置換したい文字列というのは、 Dirコマンドの結果で出力されるドライブ文字を 例えば すべてD:\ から すべてE:\ へ変更するということです。 どうぞ、アドバイスのほど、宜しくお願い致します。

  • nao-k
  • お礼率92% (695/752)

みんなの回答

  • Gao0119
  • ベストアンサー率22% (28/126)
回答No.1

以下のURLで、フリーソフトがあるので 参考にしてみてください。

参考URL:
http://www.emurasoft.com/jp/
nao-k
質問者

お礼

アドバイス、ありがとう御座います。 フリーソフトを使わずに実現する方法を検討中です。

関連するQ&A

  • ファイル内のある文字列以降を別ファイルに出力する方法

    よろしくお願いします。 MS-DOSコマンドによるバッチで次のことを検討中です。 (find や findstr 等を使用して試行錯誤していますが、 なかなか良い案が思い浮かびません。) やりたいこと  あるファイルの内容を上から順に確認していき、  あるキーワードを発見したら、それ以降の行を全て  別のファイルへ出力する。 どうぞ、アドバイスのほど、宜しくお願い致します。 (OS: Windows Server 2003, Windows 2000 Server ,Windows XP pro)

  • テキストファイル内の任意の文字列を置換

    ※http://okwave.jp/qa2627431.html を改めさせて頂きます。 よろしくお願いします。 OS: Windows Server 2003(以下W2K3), Windows 2000 Server(以下W2K) MS-DOSコマンドによるバッチで、あるテキストファイル(.txt)内を検索し、 任意の文字列を見つけたら別の文字列に置換する、という ものを検討中です。 ★目的  1)「Dir /s /a <パス>」の結果として出力されるドライブレターを、   例えば全て「D:\」から全て「E:\」へ変更。   (あくまでも「D:\」を置換するのであって「D」のみは考慮しません。)  2) 1) の結果をFCコマンドで比較。   具体的には、W2K 上のあるディレクトリ配下と   W2K3 上のあるディレクトリ配下を比較し相違点を検出したい。 ★その他問題点  W2K と W2k3 での Dirコマンド結果の仕様に違いがあるようです。   →時刻とファイル名、<DIR>とディレクトリ名の間の半角スペース数。    他、気づいていない違いがある可能性もあります。    ※FCコマンドが半角スペース数の違いを検出するようです)  半角スペースの置換で回避を検討中です。 ★参考にしているバッチ  下記ページのsample.batを参考に検討中です。  置換対象文字列以外は何も変えずに実行してもうまく動きません。  例えば、「指定されたファイルが見つかりません」や結果として  出力されるファイル内容がドライブレターを置き換えたものになってい  なかったりします。  http://www.fpcu.jp/dosvcmd/bbs/log/cat3/cat54/2-0391.html どうぞ、アドバイスのほど、宜しくお願い致します。

  • 【コマンドプロンプト】テキストファイル内の文字列置換

    こんにちは。 コマンドプロンプトのバッチファイルでテキストファイル内の文字列の置換を行いたいと考えております。 例えば以下のような内容があった場合、 --開始-- ABCDEFG1111 ABCDEFG ABCDEFG1111 HIJKLMN --終了-- バッチファイル処理結果として 1111 ABCDEFG 1111 HIJKLMN という結果を別ファイルに出力したいのです。 制限としては、sed,awkなどのwindows上で稼動するツールがあるようですが それらは使用できません。 どなたかご存知の方教えていただけないでしょうか よろしくお願い致します。

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

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

  • バッチファイルで文字列を順番問わずマッチさせたい

    バッチファイルで、2個以上の文字列を順番問わずマッチさせたいと考えています。 例えば、 「111 222 333 444 555 666 777」 という内容のテキストファイルがあったとして、 sedコマンドを使って 「222」と「444」と「666」が この順番で含まれている行を置換したい場合、 sed -e "s/.*222.*444.*666.*/置換後の文字列/" in.txt > out.txt とすれば、問題なく置換されると思います。 しかし、上記の例では、 「777 666 555 444 333 222 111」 という内容のテキストファイルは置換されません。 文字列の順番を問わず、 「222」と「444」と「666」が含まれている行ならば、 その行を置換する、といった事は出来ないでしょうか。 sedコマンド以外でも構いませんので、何かいい方法をご存知の方がおられましたらお教え頂けないでしょうか。

  • ファイル内の文字列を置換

    掲示板利用させていただきます。 現在、ファイル内の特定の文字列を置換し、 保存する方法を探しています。 できればスクリプト言語を利用したいと考えています。 sedコマンドを使用して文字列置換を行ったのですが 置換前と置換後のファイルで 文字コードと改行コードが変わってしまうのでダメでした; 「ファイル内の特定の文字列を任意の文字列に置換し、置換前と置換後で改行コードと文字コードを変えない方法」 をご存知の方、ご教示ください。 bash,perl,javaのどれでも結構です。 よろしくおねがいします。

  • 文字列置換

    UNIXのコマンドで文字列の置換を試みています。 今回行いたい置換としては。。。 12年 1986年2月12日 14 などの文字列を NUM年 NUM年NUM月NUM日 NUM などに、連続した数字をひとまとめにNUMに置換したいと考えています。 文字列の置換方法としてsedコマンドがあると聞いてしらべてみたのですが、いまいいち理解することができませんでした。 自分で考えて試してみたコマンドが以下の通りです。 sed -e "s/\([1-9]\{1,2,3,4\}\)/NUM/g" filename が・・・まったく置換はされませんでした。 よろしければお教えください。よろしくお願いいたします。

  • 文字列の置換で・・・

    Javaでの文字列の置換についてなんですが ある文字を任意の文字に置換し表示させるとともに 何個の文字を置換したかも同時に知らせたい場合は どのような処理をしたらよいでしょうか? ぜひご協力よろしくお願いします!! (例)入力した文字列に"a"が含まれる場合は"b"に置換し   その際に変換した文字数も表示してください。     basic→出力結果: "bbsic" 置換した文字数は1です。

    • ベストアンサー
    • Java
  • 長い文字列の置換を出来るエディタを教えてください。

    数式Texのコマンドなんですが、1000文字の文字列を1500文字の文字列に置換しようとしたところ、255バイト以上のデータはきられてしまい、正常に置換できませんでした。 秀丸、Wordのソフトウェアや複数行置換のフリーウェアを探したのですが、正常に置換できませんでした。 このように1000文字を1500文字への置換等、長い文字列を置換できるソフトウェアがあれば教えてください。

  • < >を含む文字列のエクセルでの置換について

    < >を含む文字列のエクセルでの置換についておしえてください。 < や >を含むhtmlの文字列のSUBSTITUTE置換で悩んでいます。 < や >は数式の大なり、小なりと認識されるので置換ができないということですよね? これを置換するいい方法はないのでしょうか? たとえばhtmlテキストに含まれる<table width="800">という文字を <table width="600"><h1>時計</h1>に置き換えたいというような感じです。 エクセルに詳しくないもので出来るのかどうかよくわかりませんが とても困っているので教えていただけましたら助かります(>_<) よろしくお願いいたします。

専門家に質問してみよう