質問: 例えば、ファイルa.txt ーーーーーーーーーーーーーーー kjklだjkl;じゃ kljk日本jこdじゃか jこjkl;j ーーーーーーーーーーーーーーーーー ”日本”が有るの第二行を削除して、 他の部分そのまま残したい。 ーーーーーーーーーーーーーーー kjklだjkl;じゃ jこjkl;j ーーーーーーーーーーーーーーーーー 上記の操作をwhsで実現したいです。 教えてくださいますようお願いいたします。 ======================
回答: こんな感じですかね、テストしてから本番で使うようにして下さい。 実行するファイルが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