本帖最后由 floor6ggg 于 2020-1-30 12:33 编辑
fileread和fileopen的应该是这样写了:注意:如果是多行内容的话,(?is),中的s需要去除,因为:(?s)(?#让.可匹配任意字符含换行),所以仅仅替换第一行内容的话,需要去除s
$sSource=FileRead(@desktopDir&"\default.rdp");假设存放路径在桌面;替换文件中的password 51:b:后的内容
MsgBox(262144, '原文内容', $sSource)
$file=FileOpen(@desktopDir&"\default.rdp", FileGetEncoding(@desktopDir&"\default.rdp") + 2);2 = 写入模式(先删除之前的内容)
$password = '12345678'
;~ Local $sSRERe = StringRegExpReplace($sSource, '(?is)(^.*51:b:)(.*)', '${1}' & $password)
Local $sSRERe = StringRegExpReplace($sSource, '(?i)(^.*51:b:)(.*)', '${1}' & $password)
MsgBox(262144, '更改结果', $sSRERe)
FileWrite($file,$sSRERe)
FileClose($file)
|