当前位置:首页 > Windows程序 > 正文

winhex脚本命令(中文版)

2021-03-25 Windows程序

脚本命令适用的环境比较多。脚本文件中的注释以为双斜杠开头。脚本支持的最长 255 字符的参数。有疑点的地方是十六进制,文本字符串(甚至 10 进制数值)都可以作为参数,你可以使用引号强制转换数字参数为文本参数。如果文本或者变量名中存在空格,则引号是必须的,在引号中的所有字符都被被识别成一个参数而存在。

当在 winhex 中使用数学表达式的时候,可以引用数学表达式,但是必须用括号括起来。在数学表达式中不能有空格。同样可以在数学表达式中应用数字变量。支持的操作有,加法(+),减法(-),乘法(*),整除(/),模除(%),逻辑运算符 AND(&),OR(|),以及 XOR(^)。以下是有效的数学表达式:(5*2+1), (MyVar1/(MyVar2+4)), or (-MyVar)。

以下是目前支持的脚本命令的详细描述以及使用实例。

Create "D:\My File.txt" 1000

创建一个 1000 字节的新文件,如果已经存在同名文件,则将其覆盖。

Open "D:\My File.txt"
Open "D:\*.txt"

打开指定格式的文件,如果通配符为“?”则 winhex 会让用户选择要打开的文件。

Open C:
Open D:

打开指定的逻辑驱动器。如果通配符为“:?”则 winhex 会让用户选择要打开的逻辑驱动器或者磁盘。

Open 80h
Open 81h
Open 9Eh

打开指定的物理介质。软盘的为 00h,硬盘与 u 盘为 80h,光盘为 9Eh。可以增加第二个参数来设定文件或者介质的编辑模式(“in-place”或者“read-only”)

CreateBackup

为活动文件的当前状态创建 WHX 备份。

CreateBackupEx 0 100000 650 true "F:\My backup.whx"

备份当前活动磁盘中从 0 扇区到 100000 扇区的数据。备份文件将自动分割成 650M 大小。并且选择了压缩选项。输出文件的路径以及名称作为最后的参数写入。

如果备份文件不需要分割,则第三个参数的数值该为 0 即可。如果不启动压缩功能则将“true”改为“false”。

如果需要自动分配文件名以及文件路径则最后的参数表示为“""”即可。

Goto 0x128
Goto MyVariable

将光标的位置移动到偏移量 0x128 位置(16 进制表示)。同样也可以用数字变量(最长 8 字节)来定义光标移动的位置。

Move -100

将当前光标的位置向后移动 100 字节(16 进制)。

Write "Test"
Write 0x0D0A
Write MyVariable

在光标当前位置(以覆盖模式)写入 ASCII 字符“Test”或者两个字节的 16 进制数“0D0A”。这里同样可以写入数字变量中的值。

同时将光标移动到被覆盖部分的后面。当到达文件的结尾时,将在文件尾部添加空字节以完成操作。下一个写命令将不会在文件尾巴添加空字节。

Write2

和“Write”的功能类似,但是当到达文件结尾的时候,不会在文件添加空字节。

So it is not safe to assume that Write2 always moves the current position forward by the number of bytes written. Insert "Test"

功能与“Write”类似,但是在“insert”模式只能应用于文件。

Read MyVariable 10

从当前位置读入 10 个字节的数据到“MyVariable”变量中。如果变量不存在,它将会创建一个。winhex 同时可以支持 48 个不同的变量。另一个创建变量的命令是“Assign”。

ReadLn MyVariable

从当前位置读入一整行的数据到“MyVariable”变量中直到遇到换行符。如果变量已经存在了,则变量的大小将会被从新调整。

Close

不保存的关闭当前活动窗口。

CloseAll

不保存的关闭所有窗口。

Save

保存当前活动窗口中打开的文件或磁盘的修改。

SaveAs "C:\New Name.txt"

将当前活动窗口打开的文件另存为指定目录下的文件。如果通配符为“?”,则 winhex 会让用户自己选择保存的路径以及文件名。

SaveAll

保存所有窗口中修改。

Terminate

中断脚本的执行。

Exit

中断脚本的执行并且关闭 winhex。

ExitIfNoFilesOpen

如果在 winhex 中没有打开的文件将终止脚本文件的执行。

Block 100 200
Block "My Variable 1" "My Variable 2"

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/67290.html