- ベストアンサー
テキストファイルの内容を部分的に削除したい
- テキストファイル内の特定の文字列が含まれる行を削除する方法を教えてください。
- フォルダ内の.txtファイルに対して、特定の文字列が含まれる行を削除する方法を知りたいです。
- テキストファイルの一部を削除する方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じですかね、テストしてから本番で使うようにして下さい。 実行するファイルが1つだけなら、ループさせる必要はありません。 '現在のフォルダでテキストファイルの中身から指定した文字列を含む行を削除する Dim fso, wsho, folder, file Dim tempFile, outFile,readFile Dim strLine, Flag, fileName, checkStr checkStr = "日本" '行に含まれているか調べる文字列をセットする 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 instr(strLine, checkStr) = 0 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
お礼
助かりました。 どうもありがとうございます。