こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

テキストファイルより特定の文字を削除する方法

皆様

御世話になっております。

現状、以下の内容のバッチを実行し、dump1.txtのトークン9以後の値をdump2.txtに反映させています。
--------------------------------------------
FOR /F "TOKENS=9,10*" %%A IN (c:\dump1.txt) DO ECHO %%A %%B %%C > c:\dump2.txt
--------------------------------------------

dump1.txtからdump2.txtへ引き継がれる値の中で、「\015\n」の文字列のみ不要なので削除したいのですが、このようなことは可能でしょうか?


※「\015\n」は連続した文字列です。

投稿日時 - 2005-01-11 18:23:24

QNo.1163003

すぐに回答ほしいです

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

>テキストファイルのフォーマットとはどのようなものでしょうか?
スペース区切りで、そういう区切られたものが9コ以上あるとかそういうことなんですが…
とりあえずよくわからんけど
そういうフォーマットであるとして
とりあえず作ってみました。
以下の部分を適当な名前で拡張子vbsで保存して、ダブルクリックで実行してみて下さい。
'スペース区切りのフィールドの9番目以降を出力する
'\015\nは削除する
Dim fso
Dim inFile, outFile
Dim field
Dim outString
Dim i

Filename="dump1.txt" '読み込みファイル名の設定

Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set inFile = fso.OpenTextFile("dump1.txt",1)'読み込みファイル
Set outFile = fso.OpenTextFile("dump2.txt",2,true)'書き込みファイル
Do until inFile.AtEndOfStream
field=split(inFile.ReadLine)
outString=""
for i=8 to UBOUND(field)
outString = outString & field(i) & " "
next
if outString <> "" then outString = left(outString,len(outString)-1)
outString = Replace(outString, "\015\n", "") ' \015\nを削除する
outFile.WriteLine(outString)
Loop
outFile.Close
inFile.Close

投稿日時 - 2005-01-12 00:34:36

お礼

BLUEPIXY様:

ご回答有難うございます。

ご紹介頂きましたスクリプト実行で見事に
完了しましたm(_ _)m

早々のご回答、本当に有難うございました!

投稿日時 - 2005-01-12 11:54:34

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

VBScriptではダメなのでしょうか?

あと、dump1.txtのフォーマットを教えて下さいませんか?

投稿日時 - 2005-01-11 18:56:52

お礼

BLUEPIXY様:

>VBScriptではダメなのでしょうか?
VBScriptについての知識が全くないので、
実現可能であるか判断できません。
申し訳ないです。

何か一例を出して頂けると非常に助かるのですが・・・。

>あと、dump1.txtのフォーマットを教えて下さいませんか?
テキストファイルのフォーマットとはどのようなものでしょうか?WindowsXPのメモ帳を使用して作成されるものなのですが・・・。

投稿日時 - 2005-01-11 19:36:21

あなたにオススメの質問