[前の記事]« 通常の環境変数と遅延環境変数の組み合わせかた
[次の記事]ipconfigコマンドが使えない »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「文字列の操作」索引へ

ファイルAから取得した文字列でファイルB内の文字列を置換えたい

418.
文字列の置換えについて
2005年04月30日(土) 03時50分
コジロウ
バッチ処理で下記のような処理をさせたいと思っているのですが、環境変数をうまく設定することができません。
どなたか、ご指導いただけないでしょうか?

Windows2000pro環境

テキストファイルAの中の"××× a"という文字列で、テキストファイルBの中の"××× b"を置換したい。
テキストファイルAの中"×××"に続く1文字"a"を取得して、ファイルB中の"×××"に続くbをaに置換する。

a,bとも、1文字の変数 /ファイルA,Bとも、変数は1つずつしか持ちません。
テキストファイルはA,Bそれぞれ1ファイルずつです。
449.
Re:文字列の置換えについて
2005年05月11日(水) 19時42分
otn
>バッチ処理で下記のような処理をさせたいと思っているのですが、環境変数をうまく設定することができません。
>どなたか、ご指導いただけないでしょうか?

>Windows2000pro環境

>テキストファイルAの中の"××× a"という文字列で、テキストファイルBの中の"××× b"を置換したい。
>テキストファイルAの中"×××"に続く1文字"a"を取得して、ファイルB中の"×××"に続くbをaに置換する。

>a,bとも、1文字の変数 /ファイルA,Bとも、変数は1つずつしか持ちません。
>テキストファイルはA,Bそれぞれ1ファイルずつです。

意味がよくわからないのでコメントできなかったのですが、
・ファイルAに XXX + 空白 + 1文字英字 というパターンの行がある。XXX で始まる行はこれ1つだけである。
・ファイルBも同様。
・ファイルA中の上記「1文字英字」を調べて、ファイルBの同形式の行の1文字英字をそれに変更する

ということでしょうか?

for /f "tokens=1*" %%A in (fileA) do if "%%A"=="XXX" set X=%%B
(for /f "tokens=1*" %%A in (fileB) do (
 if "%%A"=="XXX" (echo %%A %X%) else (echo %%A %%B)
))>tmpfile
move tmpfile fileB

制約として、ファイルBの行頭の空白が消えたり、複数個の空白が1つになったりします。

XXX + 空白 + 1文字英字 がそれだけで1行になっているのでなく、行の途中に出てくるんであれば不可能とは言わないにしてもかなり面倒です。
 
 


カテゴリー「文字列の操作」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2005年04月30日 15:24に投稿されたエントリーのページです。

ひとつ前の投稿は「通常の環境変数と遅延環境変数の組み合わせかた」です。

次の投稿は「ipconfigコマンドが使えない」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート