Jump to content

Deleting first line of text in txt file


Go to solution Solved by jdicerch,

Recommended Posts

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)
Link to comment
Share on other sites

Look at _FileReadToArray and _FileReadFromArray.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_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: 22/04/2018

Link to comment
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)
Link to comment
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.

Link to comment
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?

Link to comment
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.

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...