• NSIS FileOpen打开读写文件操作


    打开文件 FileOpen
    语法:
    FileOpen user_var(handle output) filename openmode
     
    Opens a file named "filename", and sets the handle output variable with the handle.
    打开一个名为“filename”的文件,并使用句柄设置句柄输出变量。
    The openmode should be one of "r" (read) "w" (write, all contents of file are destroyed) or "a" (append, meaning opened for both read and write, contents preserved).
    打开方式openmode应该是以下值之一
    • r 读取
    • w 写入(会覆盖原来的内容)
    • a 追加(读取和写入均打开,保留了原来的内容)
    In all open modes, the file pointer is placed at the beginning of the file.
    在所有打开模式下,文件指针都位于文件的开头。
    If the file cannot be opened, the handle output is set to empty, and the error flag is set.
    如果无法打开文件,则将句柄输出设置为空,并设置错误标志。
    If no absolute path is specified the current folder will be used. The current folder is the folder set using the last SetOutPath instruction.
    如果未指定绝对路径,则将使用当前文件夹。当前文件夹是使用最后一个SetOutPath指令设置的文件夹。
    If you have not used SetOutPath the current folder is $EXEDIR.
    如果尚未使用SetOutPath,则当前文件夹为$ EXEDIR
     
    示例:
    FileOpen $0 $INSTDIRfile.dat r
    FileClose $0

    Command introduced with NSIS v1.60

     
    写入文件 FileWrite
    语法:
    FileWrite user_var(handle) content
     
    关闭文件 FileClose
    语法:
    FileClose user_var(handle)
     
    下面是一个以写入方式打开文件并重写内容的示例:
    ClearErrors
    FileOpen $0 "$INSTDIRNIRModelingRPFBusFrontendstaticjsBaseUrl.js" w
    IfErrors done
    FileWrite $0 'const BASE_URL = { url: "http://$SQL_SERVERNAME:80/NIRModelingAPI/" };const RPF_URL = { url: "http://$SQL_SERVERNAME:80/" };'
    FileClose $0
    done:
     
    总结:
    FileOpen、FileWrite、FileClose 是三个文件操作函数。
    $0 是一个变量,这里相当于文件句柄。
    注意打开文件的方式选择,如果不需要覆盖原文件内容,则使用追加方式打开。

  • 相关阅读:
    Spring static 静态属性注入
    大众点评Cat--架构分析
    rxjava
    TCP/IP协议三次握手与四次握手流程解析
    [SDOI2014]数数
    CF-GYM101741K. Consistent Occurrences
    [JSOI2012]玄武密码
    [POI2000]病毒
    [JSOI2007]文本生成器
    [HNOI2006]最短母串问题
  • 原文地址:https://www.cnblogs.com/njabsky/p/14069028.html
Copyright © 2020-2023  润新知