使用道具 举报
原帖由 2010qaqz111 于 2013-3-31 09:45 发表 GETF# 读出的东西直接用 LOAD **mem 加载好像有问题,日志里面不时就会出现一些命令中间多一个问号出来的情况,或者一个文件读不全,最后少了几字节,比如这样的日志条目: [_SU?B FUNC1] 然后在调用 FUN ...
原帖由 2010qaqz111 于 2013-3-31 10:08 发表 是不在扩展区的原因? 我比对了源文件发现这个问号大概是每512字节出现一次,我移到扩展区试试。
原帖由 2010qaqz111 于 2013-3-31 10:24 发表 移到扩展区没问题了。不过不明白为毛弄个主区和扩展区的区别出来?主区那个控制字节又是啥? IMPORT 的防止重入是否在第二次IMPORT同一个文件的时候就会在LOG里返回 系统找不到指定文件?
原帖由 2010qaqz111 于 2013-3-31 10:46 发表 现在遇到这样的情况: 文件 L1 定义了2个_SUB 文件 A IMPORT 了 L1,可以调用 L1 定义的 _SUB 文件 A LOAD 文件 B,文件 B 需要用 L1 定义的 _SUB,但是它不能继承 A IMPORT 来的内容 文件 B 自己 IMPO ...
IMP.wcs.zip
2013-3-31 11:05 上传
点击文件名下载附件
620 Bytes, 下载次数: 7
F1 IMPORT L1.WCS LOGS * X.LOG F SET &B=MESS B SET.< B=\nIMPORT L1.WCS SET.< B=\nF LOAD **mem &B _SUB F1 MESS F1 in A _END
_SUB F MESS F from %CurFile% _END
[LOGS * X.LOG] <0>:操作成功完成。 [MESS F from D:\Tools\Script\PECMD\IMP.wcs\A.WCS] <0>:操作成功完成。 [F] <0>:操作成功完成。 [SET &B=MESS B] <0>:操作成功完成。 [SET.< B=\nIMPORT L1.WCS] <0>:操作成功完成。 [SET.< B=\nF] <0>:操作成功完成。 [MESS B] <0>:操作成功完成。 [IMPORT L1.WCS] <2>:系统找不到指定的文件。 [F] <2>:系统找不到指定的文件。 [LOAD **mem &B] <0>:操作成功完成。 [LOGS ] <0>:操作成功完成。
原帖由 2010qaqz111 于 2013-3-31 18:58 发表 用 LOAD **mem &WCS 加载的码不认 IMPORT?
原帖由 2010qaqz111 于 2013-3-31 18:08 发表 IMPORT 是运行前执行,不支持 PE 变量解释路径,而且因为是运行前执行,被 IMPORT 的文件还没有 FILE=> 到位,难怪找到的文件版本不对,囧。 看来得另外想办法了。 如果 L1 仅仅定义了 _SUB 和一些文件 ...
原帖由 <i>mdyblog</i> 于 2013-3-31 19:16 发表 不认。 只在 LOAD磁盘文件时认。 LOAD **mem 没有当前 文件目录, IMPORT L1.WCS 不知道到哪儿 去IMPORT 这个L1.WCS。 系统部稳定。
原帖由 mdyblog 于 2013-3-31 19:21 发表 动态执行, 分别加载文件 到变量, 再 合并为一个变量, 再执行这个变量。 设计方案 改改吧, 太复杂。 Keep It Simple !
原帖由 2011hwo1 于 2013-3-31 19:26 发表 SET.< B=\nIMPORT L1.WCS这个应该是全路径才行吧! SET.
原帖由 2010qaqz111 于 2013-3-31 19:28 发表 加了绝对路径也一样不行,还是报错 :系统找不到指定的文件。 LOAD **mem 我以为是继承 运行这个 LOAD 命令的脚本的当前目录。
原帖由 2010qaqz111 于 2013-3-31 20:33 发表 这个意思是差不多是自己手动来完成 IMPORT 的功能吧,倒是也算一个解决方案,可以用 SED 处理配置文件里面的 IMPORT 语句,而且应该可以在 IMPORT 里用 PE 变量解释路径了,我试试看。
原帖由 mdyblog 于 2013-3-31 21:02 发表 写了个新版, 到时能处理 变量路径的IMPORT, LOAD **mem 等也可以。 注意 LOAD **mem 是的路径。 我在测试一下。
MESS %CurDir%\n%CurFile%
GETF# L1.wcs,0#*,&&LC LOAD **mem &LC
**mem "C:\temp" **mem &LC "C:\temp\a.wcs"
原帖由 2010qaqz111 于 2013-3-31 21:02 发表 CODE **-BOM,&L1,**-,&&L2 说明里写 -BOM 可以指定给源格式,但是这命令 -BOM 不能识别 UTF8+BOM 的格式转换出正确的结果呢? :参数错误。
原帖由 2010qaqz111 于 2013-3-31 21:18 发表 如果让 LOAD **mem 和 LOAD 磁盘文件一样的话,可以考虑这样的规则: 在【LOAD **mem &变量名】运行的代码里面: %CurDir%:直接返回调用者的 %CurDir%,或者返回字串 **mem "调用者文件A的%CurDir%的返 ...
原帖由 mdyblog 于 2013-3-31 21:02 发表 写了个新版, 到时能处理 变量路径的IMPORT, LOAD **mem 等也可以。 注意 LOAD **mem 是的路径。 我在测试一下。 ---好了 PECMD2012.1.75.1-130314-26.多窗口线程孵化版_win32_64.sfx SET &MyDir=D:\TEMP SET &&WCS=IMPORT %MyDir%\L1.WCS LOAD **mem &WCS 11 22 33
SET &D=C:\temp IMPORT L1.wcs IMPORT %&D%\L2.wcs
原帖由 mdyblog 于 2013-3-31 21:26 发表 IMPORT 只用到%CurDir% 等目录 变量。 %CurDir%:为当前 目录; 可有PATH@提前设定 运行时: %CurDir%:为 当前目录 %CurFiler%:为 当前目录\#mem
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )
闽公网安备 35020302032614号
GMT+8, 2025-12-28 15:30
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.