Sign in to follow this  
Followers 0
jdicerch

Deleting first line of text in txt file

7 posts in this topic

Thank you guys in advanced.  I am trying to edit the first line of a text file, delete the first line of that file, then readd the edited line back in.  For some reason, I can't even write to a specific line in a file. Let me know what I am doing wrong! :D

This is just trying to add "000000" to the first line of that text file.

#include <File.au3>
$sFile = FileOpen("C:\Users\z19jmd\Desktop\test.txt", 1)
_FileWriteToLine($sFile,1,"000000000",1)
FileClose($sFile)

Share this post


Link to post
Share on other sites



Look at _FileReadToArray and _FileReadFromArray.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

FileReadToArray wasn't what I was looking for, but thanks for the suggestion.  Apparently FileWriteToLine already opens the file, so as soon as I took that out it seemed to fix it.

Share this post


Link to post
Share on other sites

Example:

#include <File.au3>

FileWrite("test.txt", "Text of the first line" & @CRLF & _
        "Text of the second line" & @CRLF & "Text of the third line")

$file = FileOpen("test.txt", 0)
$read = FileReadLine($file)
MsgBox(4096, "Before", "First line = " & $read)

_FileWriteToLine("test.txt", 1, "", 1)
$file = FileOpen("test.txt", 0)
$read = FileReadLine($file)
MsgBox(4096, "After    ", "First line = " & $read)

Share this post


Link to post
Share on other sites

 

Thank you guys in advanced.  I am trying to edit the first line of a text file, delete the first line of that file, then readd the edited line back in.  For some reason, I can't even write to a specific line in a file. Let me know what I am doing wrong! :D

This is just trying to add "000000" to the first line of that text file.

#include <File.au3>
$sFile = FileOpen("C:\Users\z19jmd\Desktop\test.txt", 1)
_FileWriteToLine($sFile,1,"000000000",1)
FileClose($sFile)

Just so you understand why it was failing and how to find out for yourself next time, add error checking after the line that isn't working.  In this case, you were returning @error = 2 (File does not exist).  This is because you are passing a file handle to a function that is only looking for a file name.

Share this post


Link to post
Share on other sites

This is because you are passing a file handle to a function that is only looking for a file name.

Thanks for answering, I always like to know where I went wrong, but what did you mean by passing a file handle?  It didn't want the entire path?

Share this post


Link to post
Share on other sites

Thanks for answering, I always like to know where I went wrong, but what did you mean by passing a file handle?  It didn't want the entire path?

When you called fileopen, the return was a file handle, not a filename.  A file handle is a reference to a file that was in this case, opened for writing (append).

So actually, yes it did want the entire path, but you passed it a file handle instead.

when you wrote $sFile = FileOpen... it really should have been $hFile = FileOpen... since it returns a handle not a string containing the path.

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  
Followers 0