Reading and Writing in files: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
m (Reverted edits by 94.96.183.184 to last version by 198.102.62.250) |
m (Reverted edits by 115.248.79.66 to last version by Kichik) |
(One intermediate revision by one other user not shown) | |
(No difference)
|
Latest revision as of 20:14, 4 November 2012
Author: n0On3 (talk, contrib) |
Description
This example is to show you how easy it is to read/write in files.
Write (overwrite)
This will overwrite SomeFile.txt contents or create it and put "hello" inside:
FileOpen $4 "$DESKTOP\SomeFile.txt" w FileWrite $4 "hello" FileClose $4
Write (append)
If the file exists and you don't want to lose its contents use this:
FileOpen $4 "$DESKTOP\SomeFile.txt" a FileSeek $4 0 END FileWrite $4 "$\r$\n" ; we write a new line FileWrite $4 "hello" FileWrite $4 "$\r$\n" ; we write an extra line FileClose $4 ; and close the file
That "$\r$\n" means "carriage return + new line". This is how windows knows that there's a new line in the file.
Read
For reading files:
FileOpen $4 "$DESKTOP\SomeFile.txt" r FileSeek $4 1000 ; we want to start reading at the 1000th byte FileRead $4 $1 ; we read until the end of line (including carriage return and new line) and save it to $1 FileRead $4 $2 10 ; read 10 characters from the next line FileClose $4 ; and close the file
The variables we use to read/write can only hold up to 1024 bytes, but this is hardly a problem. Notice that every example used a different mode to open the file "w" "a" and "r".