本帖最后由 C.L 于 2010-6-22 08:37 编辑
回复 3# kk_lee69
要读取二进制文件最后的字元,有不同的方法,比如,1、你读取整个文件,而且从读取的数据中截取最后的字符,2、用fileread读取指定的字符,3、调用WinAPI的二进制方式读取
用echo 1 >> test.exe这个DOS命令,写入文件的不单是1的ASCII码,还有其他的不可见字符,如果你要读取1这个变量,提取后要经过字符处理才能使用。
给你写个例子用fileread ()方式读取echo 1 >> test.exe 写入文件的二进制数据$filename = "test.exe"
RunWait(@ComSpec & ' /c echo 1 >> "'&$filename&'"', @ScriptDir, @SW_HIDE)
FileRead ($filename,FileGetSize($filename)-4);不返回数据,相当于设置文件指针
$fdata=FileRead ($filename,4);读取最后4个二进制字符
If $fdata == "1" Or $fdata == 1 Then
MsgBox (0,"","["&$fdata&"]")
Else
MsgBox (0,"","$fdata 不等于1"&@CRLF& _
"$fdata = ["&$fdata&"]"&@CRLF & _
"echo 1 >> test.exe 写入文件的二制式是:"&StringToBinary ($fdata))
EndIf
|