- ベストアンサー
テキストファイルの内容を部分的に残したい
あるフォルダ下のすべてのテキストファイルについて、?から始まる部分の内容しか残したいです。 ============ 例えば、 jkl;j; じおうおういおういお「 ?じおじょじょ jkjl;; ============== 上記の場合、上の2行を削除したいです。 下の2行だけを残したいです。(?からの部分) ファイルが多いため、WHSで実現したいです。 どうやって、できるでしょうか? 教えてください!(サンプルが欲しいです。) お願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1は、テスト環境でテストしてから本番で使ってみて下さいね。 ファイルの中身が変更されるし、最悪中身がなくなりますしね。
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
'現在のフォルダでテキストファイルの中身を?が行頭にある行以下に変更する Dim fso, wsho, folder, file Dim tempFile, outFile,readFile Dim strLine, Flag, fileName Set fso = WScript.CreateObject("Scripting.FileSystemObject") Set wsho = WScript.CreateObject("WScript.Shell") Set folder = fso.GetFolder(".") tempFile = fso.GetTempName For Each file in folder.files if UCase(right(file.Name,4)) = ".TXT" then '拡張子が.txt Set outFile = folder.CreateTextFile(tempFile, true) '作業ファイルを作る Set readFile = file.OpenAsTextStream(1) Flag = false Do until readFile.AtEndOfStream strLine = readFile.ReadLine '一行読み出し if Left(strLine,1) = "?" then Flag = true if Flag then outFile.WriteLine(strLine) end if loop readFile.Close outFile.Close fileName = file.Name file.Delete Set file=fso.GetFile(tempFile) file.Name=fileName end if next
お礼
どうもありがとうございます。
お礼
何度も教えていただき、 どうも、ありがとうございます。 次の質問もよろしくお願いいたします。