ファルダの中の.txtファイルに対して、
ある文字が含めましたら、その行を削除します。
他の部分はそのまま残します。
上記の操作を実現したいです。
サンプルを教えてください。
お願いします。
====================
例えば、ファイルa.txt
ーーーーーーーーーーーーーーー
kjklだjkl;じゃ
kljk日本jこdじゃか
jこjkl;j
ーーーーーーーーーーーーーーーーー
”日本”が有るの第二行を削除して、
他の部分そのまま残したい。
ーーーーーーーーーーーーーーー
kjklだjkl;じゃ
jこjkl;j
ーーーーーーーーーーーーーーーーー
上記の操作をWHSで実現したいです。
教えてくださいますようお願いいたします。
======================
No.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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Excel(エクセル) EXCELで同一セル内で自動的に改行されてしまう(難問) 6 2023/04/16 00:51
- ソフトウェア Aimpに関する質問です。 1 2022/09/08 11:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Windows 10 ショートカットの使い方について教えて下さい。 2 2022/06/21 15:27
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- 画像編集・動画編集・音楽編集 wavファイルが持っているファイル長の変更 1 2022/07/11 17:43
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでワークシートを引数として...
-
拡張子を元に戻す
-
forfilesで検索したファイルを...
-
COPYコマンドで結合すると余計...
-
テキストファイルのタブをカン...
-
テキストファイルのファイル名...
-
.txtではなく.logの方が良いの...
-
Windows版のgzipについて
-
VBAでエクセルをtxtに変換する...
-
Perlで同じフォルダにある任意...
-
accessでSQL文を使ってcsvファ...
-
【エクセルVBA】エクセルからテ...
-
【Excel】 VBAを使って毎回名前...
-
ftpコマンドで複数のファイルを...
-
バッチファイルからVBAに引数を...
-
フォルダ名をファイル名の頭に...
-
DOSコマンドによるテキストファ...
-
多数のサブディレクトリ内のフ...
-
コマンドプロンプトで指定した...
-
バッチファイル 複数ファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
VBAでワークシートを引数として...
-
.txtではなく.logの方が良いの...
-
拡張子を元に戻す
-
多数のサブディレクトリ内のフ...
-
COPYコマンドで結合すると余計...
-
バッチファイル 複数ファイル...
-
テキストファイルで提出とは?
-
バッチファイルで文字列削除に...
-
Windowsのバッチファイルを利用...
-
テキストファイルのファイル名...
-
ファイルの最後に文字列挿入
-
psqlでエラーログをとりたい
-
forfilesで検索したファイルを...
-
バッチファイルからVBAに引数を...
-
accessでSQL文を使ってcsvファ...
-
テキストファイルのタブをカン...
-
MATLABで行列を配列に格納する方法
-
renameコマンドについて
-
【Excel】 VBAを使って毎回名前...
おすすめ情報