改行文字、空行、どちらの問題もバッチコマンド機能だけでは対応不可能です。
お書きのどれかのツールを使う必要があります。
VBScriptやJScriptならWindows標準装備なのでおすすめです。
VBScriptだと、下記のようなファイル foo.vbs を作って、
cscript //nologo foo.vbs < t22.org > t22.txt
====foo.vbs====================================================
Do While Not WScript.StdIn.AtEndOfStream
str = WScript.StdIn.ReadLine
WScript.StdOut.Write replace(str,"abc","xxx") & vbLF
Loop
質問者
お礼
notnotさん お世話になります。
問題2)空白行の対応ができない段階で、私の目標が達成できないことになるので、
やはり、DOSオンリーをあきらめるのが妥当なんですね。
先ほど、GNU sed 4.2.1を個別にインストールして、UNIXのテキストの文字置換を
やってみたのですが、
sed -e s/adc/xxx/ t22.txt > t23.txt
を実行すると、
問題2)の空白行問題は、解決するのですが、問題1)の改行問題は解決しませんでした。
UNIXテキストファイルの改行LFが改行CR+LFに書き換わってました。
私が使っているPCのうち、
Windows XP SP3 は、Windows Script Host Verion 5.6
Windows 7 は、Windows Script Host Verion 5.8
が入っていましたので早速、取り組んでみます。
私が途中まで作ったファイルの解凍処理がバッチなので、このバッチの中から
WSHをコールするのは、
cscript //nologo foo.vbs < t22.org > t22.txt
で実行できますか?
あっ、自分で試してみます。
また、わからないことがあったら、ご質問させていただきます。
早速、WSHに取り組んでみます。
ありがとうございました。
質問者
補足
notnot さん、WSHでの動作確認ができました。
Windows Script Host Version 5.8と5.6でいくつかのVBScriptを作って実行してみましたが、
DOSだけで四苦八苦していたことが、かなり時間の無駄だったように思います。
Windows XP, Windows 7の両方で動作確認が取れたのでよかったです。
DOSの呪縛から解き放たれた気分です。
完結丁寧なアドバイス、ありがとうございました。
お礼
notnotさん お世話になります。 問題2)空白行の対応ができない段階で、私の目標が達成できないことになるので、 やはり、DOSオンリーをあきらめるのが妥当なんですね。 先ほど、GNU sed 4.2.1を個別にインストールして、UNIXのテキストの文字置換を やってみたのですが、 sed -e s/adc/xxx/ t22.txt > t23.txt を実行すると、 問題2)の空白行問題は、解決するのですが、問題1)の改行問題は解決しませんでした。 UNIXテキストファイルの改行LFが改行CR+LFに書き換わってました。 私が使っているPCのうち、 Windows XP SP3 は、Windows Script Host Verion 5.6 Windows 7 は、Windows Script Host Verion 5.8 が入っていましたので早速、取り組んでみます。 私が途中まで作ったファイルの解凍処理がバッチなので、このバッチの中から WSHをコールするのは、 cscript //nologo foo.vbs < t22.org > t22.txt で実行できますか? あっ、自分で試してみます。 また、わからないことがあったら、ご質問させていただきます。 早速、WSHに取り組んでみます。 ありがとうございました。
補足
notnot さん、WSHでの動作確認ができました。 Windows Script Host Version 5.8と5.6でいくつかのVBScriptを作って実行してみましたが、 DOSだけで四苦八苦していたことが、かなり時間の無駄だったように思います。 Windows XP, Windows 7の両方で動作確認が取れたのでよかったです。 DOSの呪縛から解き放たれた気分です。 完結丁寧なアドバイス、ありがとうございました。