Jump to content
Sign in to follow this  
Agent Orange

Deleting a line of text

Recommended Posts

Agent Orange

I'm trying to write of script that will Open a text file and then go through it looking for a certain value for that line. If it finds that value then I need to it delete that line out of the text file and continue through the file until the end. I have some code that seems to do everything...but I can't figure out how to delete the lines.

I'm attaching the code I've tried so far. I maybe doing this the wrong way....any ideas?

$file = FileOpen("c:\file.txt", 1)

; Check if file opened for reading OK
If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")

; Read in lines of text until the EOF is reached
While 1
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
    $result = StringInStr($line, "PHYSICIAN",0)
If $result <> 0 then    
    StringReplace($line," ","-")
    StringStripWS($line,8) oÝ÷ ØÚ-²êÞ­¶hêÞ¶¬Ì!z·ßÙ¢wî±çZºÚ"µÍB[YÙ[[PÛÜÙJ ÌÍÙ[JB
Edited by Agent Orange

Share this post

Link to post
Share on other sites

Well you have to write to the file again :shocked:...

In your case I would suggest looking at this example

Dim $a_Test
; Read file into array
; reverse records
; write reversed array to file

The "problem" is that you cant read and write to a file.. you open a file to read, then you close, then you open it again and write...


Start here if you are new Valuater's AutoIT 1-2-3Looking for an UDF - Look hereDo you need to do it twice - Autoit

Share this post

Link to post
Share on other sites

Read the file to an array with _FileReadToArray(). Then step backwards through the array deleting lines that contain your target string. Use _ArrayDelete() to delete the entries in the array. Walking the array in reverse keeps any deleted entries from changing the next one to be done. When you're done, write it back with _FileWriteFromArray().


Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  


Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.