无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: mdyblog
打印 上一主题 下一主题

[更新376#2825]PECMD2012.1.80.13_Win32_64.多窗口多线程.裸机系统2.3.3.1+18M酷M...

    [复制链接]
14521#
发表于 2019-11-25 23:00:05 | 只看该作者
PECMD不能用UTF-8编码脚本?
有点怪

点评

那台分辨率有可能超过显示范围的机器,方便进03pe把那段代码的返回信息贴一下吗?  详情 回复 发表于 2019-11-25 23:11
Windows记事本另存为一次utf8  详情 回复 发表于 2019-11-25 23:01
回复

使用道具 举报

14522#
发表于 2019-11-25 23:01:05 来自手机 | 只看该作者
求道者 发表于 2019-11-25 23:00
PECMD不能用UTF-8编码脚本?
有点怪

Windows记事本另存为一次utf8

点评

PECMD加载脚本会乱码…… 只能用ANSI  详情 回复 发表于 2019-11-25 23:10
回复

使用道具 举报

14523#
 楼主| 发表于 2019-11-25 23:02:10 | 只看该作者


正常Win7X64系统下, 亲测 X64DLL3各版本的DISP都能正常。
PECMD的DLL都要改为PECMD.DLL.
https://www.lanzous.com/i7ks5ch

点评

我只在QEMU/KVM虚拟机上复现了这个问题 不如说比较奇怪的是,明明设备管理器里驱动根本没加载,还能设置分辨率这点……  详情 回复 发表于 2019-11-25 23:12
回复

使用道具 举报

14524#
发表于 2019-11-25 23:10:42 | 只看该作者
红毛樱木 发表于 2019-11-25 23:01
Windows记事本另存为一次utf8

PECMD加载脚本会乱码……
只能用ANSI
回复

使用道具 举报

14525#
发表于 2019-11-25 23:11:23 来自手机 | 只看该作者
求道者 发表于 2019-11-25 23:00
PECMD不能用UTF-8编码脚本?
有点怪

那台分辨率有可能超过显示范围的机器,方便进03pe把那段代码的返回信息贴一下吗?

点评

?你是回复的我吗? 我是在KVM虚拟机里弄得……  详情 回复 发表于 2019-11-26 00:25
回复

使用道具 举报

14526#
发表于 2019-11-25 23:12:24 | 只看该作者
mdyblog 发表于 2019-11-25 23:02
正常Win7X64系统下, 亲测 X64DLL3各版本的DISP都能正常。
PECMD的DLL都要改为PECMD.DLL.
https://ww ...

我只在QEMU/KVM虚拟机上复现了这个问题
不如说比较奇怪的是,明明设备管理器里驱动根本没加载,还能设置分辨率这点……
回复

使用道具 举报

14527#
发表于 2019-11-26 00:12:05 | 只看该作者
帮助文档里的
WWW.Yonsm.NET
这个域名建议去掉。已经成垃圾网站了

点评

还有资助信息那里,也应该去掉了。时过境迁,也许人家过的比你都好了  详情 回复 发表于 2019-11-26 11:32
回复

使用道具 举报

14528#
发表于 2019-11-26 00:25:19 | 只看该作者
本帖最后由 求道者 于 2019-11-26 00:48 编辑
红毛樱木 发表于 2019-11-25 23:11
那台分辨率有可能超过显示范围的机器,方便进03pe把那段代码的返回信息贴一下吗?

?你是回复的我吗?
我是在KVM虚拟机里弄得……
返回信息是怎么搞?
DISP W1920 H1080并没有什么回馈
只是普通的能成功(用精简版的话)
DLL版用小体积的组合的话,DISP W1920 H1080会完全无效

再次确认了一下只要用PECMD_u.exe引导PECMD.dll就会无法调整分辨率
PECMD_min.exe或者PECMD_ful.exe引导就能调整分辨率
但托盘不显示图标



点评

测试 包: https://www.lanzous.com/i7ku4ta 两个exe, + PECMD.DLL, 在WIn7x64 执行下面代码, 均正常: DISP W1024 MESS 回来 DISP W1366  详情 回复 发表于 2019-11-26 02:12
搞错了,不好意思。是另外一位兄弟  详情 回复 发表于 2019-11-26 00:42
回复

使用道具 举报

14529#
发表于 2019-11-26 00:42:57 来自手机 | 只看该作者
求道者 发表于 2019-11-26 00:25
?你是回复的我吗?
我是在KVM虚拟机里弄得……
返回信息是怎么搞?

搞错了,不好意思。是另外一位兄弟
回复

使用道具 举报

14530#
 楼主| 发表于 2019-11-26 02:12:46 | 只看该作者
本帖最后由 mdyblog 于 2019-11-26 02:14 编辑
求道者 发表于 2019-11-26 00:25
?你是回复的我吗?
我是在KVM虚拟机里弄得……
返回信息是怎么搞?

测试 包: https://www.lanzous.com/i7ku4ta

两个exe, + PECMD.DLL, 在WIn7x64 执行下面代码, 均正常:
DISP W1024
MESS  回来
DISP W1366

-----------------
建议用_full吧。
回复

使用道具 举报

14531#
发表于 2019-11-26 11:32:25 | 只看该作者
红毛樱木 发表于 2019-11-26 00:12
帮助文档里的
WWW.Yonsm.NET
这个域名建议去掉。已经成垃圾网站了

还有资助信息那里,也应该去掉了。时过境迁,也许人家过的比你都好了
回复

使用道具 举报

14532#
发表于 2019-11-26 13:38:40 | 只看该作者
本帖最后由 求道者 于 2019-11-26 14:03 编辑

顺便问一下怎么转义%
我需要使用%L%作为字符串而不是变量使用……

点评

%%L%试试呢  详情 回复 发表于 2019-11-26 14:53
回复

使用道具 举报

14533#
发表于 2019-11-26 14:53:20 | 只看该作者
求道者 发表于 2019-11-26 13:38
顺便问一下怎么转义%
我需要使用%L%作为字符串而不是变量使用……

%%L%试试呢%%L

点评

不行  详情 回复 发表于 2019-11-26 15:13
回复

使用道具 举报

14534#
发表于 2019-11-26 15:13:24 来自手机 | 只看该作者
红毛樱木 发表于 2019-11-26 14:53
%%L%试试呢%%L

不行

15747523905768207748964780606482.jpg (61.85 KB, 下载次数: 101)

15747523905768207748964780606482.jpg

点评

大哥,你这啥也看不清,猜也猜不到啊  详情 回复 发表于 2019-11-26 15:14
回复

使用道具 举报

14535#
发表于 2019-11-26 15:14:22 | 只看该作者

大哥,你这啥也看不清,猜也猜不到啊

点评

[attachimg]405738[/attachimg]  详情 回复 发表于 2019-11-26 15:19
回复

使用道具 举报

14536#
发表于 2019-11-26 15:19:41 | 只看该作者
红毛樱木 发表于 2019-11-26 15:14
大哥,你这啥也看不清,猜也猜不到啊


点评

看不明白你想干啥  详情 回复 发表于 2019-11-26 15:27
回复

使用道具 举报

14537#
发表于 2019-11-26 15:27:07 | 只看该作者

看不明白你想干啥
回复

使用道具 举报

14538#
发表于 2019-11-26 15:31:58 | 只看该作者
打开标准模式的开关: ENVI^ ENVIMODE=1
变量的表达方式跟.BAT和.CMD脚本一样,%L%可用%%L%%表达.
说明书里面有这方面的说明.

点评

默认为什么不开启呢? 而且感觉没有专门的转义迟早会翻车。  详情 回复 发表于 2019-11-26 15:43
回复

使用道具 举报

14539#
发表于 2019-11-26 15:43:44 来自手机 | 只看该作者
本帖最后由 求道者 于 2019-11-26 15:58 编辑
datbik189 发表于 2019-11-26 15:31
打开标准模式的开关: ENVI^ ENVIMODE=1
变量的表达方式跟.BAT和.CMD脚本一样,%L%可用%%L%%表达.
说明书里 ...


默认为什么不开启呢?
而且感觉没有专门的转义符迟早会翻车。

点评

默认是兼容PECMD4.0. 这里是PECMD2012, 一般都用标准模式, 即在每个脚本的第一行加上ENV^ ENVIMODE=1.  详情 回复 发表于 2019-11-26 15:47
回复

使用道具 举报

14540#
发表于 2019-11-26 15:47:25 | 只看该作者
求道者 发表于 2019-11-26 15:43
默认为什么不开启呢?
而且感觉没有专门的转义迟早会翻车。


默认是兼容PECMD4.0.

这里是PECMD2012, 一般都用标准模式, 即在每个脚本的第一行加上ENVI^ ENVIMODE=1.

点评

果不其然 我就觉得不对…… 不只是变量的%%还有分隔符,也需要转义 所以全局通用的转义符有吗? 脚本语言一定要有的,不然翻车只是迟早的事 至少我了解的脚本语言都有转义符…… 然后脚本如果用UTF-8编码 中  详情 回复 发表于 2019-11-26 23:55
回复

使用道具 举报

14541#
发表于 2019-11-26 23:55:29 | 只看该作者
datbik189 发表于 2019-11-26 15:47
默认是兼容PECMD4.0.

这里是PECMD2012, 一般都用标准模式, 即在每个脚本的第一行加上ENVI^ ENVIMODE ...

果不其然
我就觉得不对……
  1. LINK %Desktop%\理顺盘符,%MyName%,TEAM SHOW -check *F:0 | DISK -check  ,,,4,U:,0x1
复制代码

不只是变量的%%还有分隔符,也需要转义
所以全局通用的转义符有吗?
脚本语言一定要有的,不然翻车只是迟早的事
至少我了解的脚本语言都有转义符……
然后脚本如果用UTF-8编码
中文就会乱码?
UTF-8支持是程序现代化进程的一部分。

点评

用unicode  详情 回复 发表于 2019-11-27 00:57
回复

使用道具 举报

14542#
发表于 2019-11-27 00:57:42 来自手机 | 只看该作者
求道者 发表于 2019-11-26 23:55
果不其然
我就觉得不对……


用unicode

点评

3Q UTF-8带BOM编码可用 这么说PECMD的转义是真没救?  详情 回复 发表于 2019-11-27 01:28
回复

使用道具 举报

14543#
发表于 2019-11-27 01:28:45 | 只看该作者

3Q
UTF-8带BOM编码可用

这么说PECMD的转义是真没救?

点评

我玩cmd和bat很少,对转意这个词不理解。 你给我个代码例子,想要实现什么效果,直观一些。  详情 回复 发表于 2019-11-27 01:39
回复

使用道具 举报

14544#
发表于 2019-11-27 01:39:36 来自手机 | 只看该作者
本帖最后由 红毛樱木 于 2019-11-27 01:43 编辑
求道者 发表于 2019-11-27 01:28
3Q
UTF-8带BOM编码可用


搞半天你用不带bom的utf-8编码,不带bom的非ANSI编码都是流氓代码。

我玩cmd和bat很少,对转意这个词不理解。
你给我个代码例子,想要实现什么效果,直观一些。

点评

就是这个 实际上LINK的参数部分是 但这里面有很多结果你就知道了吧…… PECMD的帮助里没有转义相关的资料 唯一一个靠谱的只是针对变量  详情 回复 发表于 2019-11-27 01:48
回复

使用道具 举报

14545#
发表于 2019-11-27 01:48:32 | 只看该作者
本帖最后由 求道者 于 2019-11-27 02:00 编辑
红毛樱木 发表于 2019-11-27 01:39
搞半天你用不带bom的utf-8编码,不带bom的非ANSI编码都是流氓代码。

我玩cmd和bat很少,对转意这个词 ...
  1. LINK %Desktop%\理顺盘符,%MyName%,TEAM SHOW -check *F:0 | DISK -check  ,,,4,U:,0x1
复制代码

就是这个
实际上LINK的参数部分是
  1. TEAM SHOW -check *F:0 | DISK -check  ,,,4,U:,0x1
复制代码

但这里面有很多
  1. ,
复制代码
结果你就知道了吧……
PECMD的帮助里没有转义相关的资料
唯一一个靠谱的只是针对变量
一般来说一个正常的语法处理这样一个路径就是
  1. /home/user/桌面/新建文件夹\ \(1\)
复制代码
人类更容易理解的路径就是
  1. /home/user/桌面/新建文件夹 (1)/
复制代码
两者是相等的
当空格和括号前面被填了\符号之后
空格就失去了分隔的的特殊效果
括号好像是分组,加了\之后就没有特殊功能了
\就是linux Shell脚本语言里定义的转义符

转义符在脚本语言里挺常见的吧……

另外
  1. /home/user/新建文件夹\*/
复制代码
为什么*号会被转义

你懂得

\本身能否转义?
能!
  1. /home/user/桌面/\\新建文件夹\*/
复制代码
这样作为路径使用时\本身就失去了转义的功能
复杂但灵活

点评

Windows风格, 好像 不适合 \转义符。 Windows用户不习惯一堆的转义符\。喜欢直观的样子。 文件名习惯用“”来对付空格。 PECMD 的方式: (1)通用的方式是用变量包装。 (2)还可"" 对付空格文件名  详情 回复 发表于 2019-11-27 05:18
这种情况目前我知道的只能变通一下,不知道有没有别的方法。 把TEAM SHOW -check *F:0 | DISK -check ,,,4,U:,0x1写成一个_sub函数,然后去call  详情 回复 发表于 2019-11-27 01:57
回复

使用道具 举报

14546#
发表于 2019-11-27 01:57:26 来自手机 | 只看该作者
求道者 发表于 2019-11-27 01:48
就是这个
实际上LINK的参数部分是
但这里面有很多结果你就知道了吧……

这种情况目前我知道的只能变通一下,不知道有没有别的方法。
把TEAM SHOW -check *F:0 | DISK -check  ,,,4,U:,0x1写成一个_sub函数,然后去call

点评

所以我觉得定义一个全局转义符势在必行啊…… 越是往后搞就越麻烦  详情 回复 发表于 2019-11-27 02:01
回复

使用道具 举报

14547#
发表于 2019-11-27 02:01:33 | 只看该作者
本帖最后由 求道者 于 2019-11-27 02:05 编辑
红毛樱木 发表于 2019-11-27 01:57
这种情况目前我知道的只能变通一下,不知道有没有别的方法。
把TEAM SHOW -check *F:0 | DISK -check  , ...

所以我觉得定义一个全局转义符势在必行啊……
越是往后搞就越麻烦
想想如果总是搞套娃一样搞这种代码
毫无疑问会增大阅读代码的难度

点评

赞同,希望pecmd2012越来越牛逼,睡觉睡觉  详情 回复 发表于 2019-11-27 02:12
回复

使用道具 举报

14548#
发表于 2019-11-27 02:12:19 来自手机 | 只看该作者
求道者 发表于 2019-11-27 02:01
所以我觉得定义一个全局转义符势在必行啊……
越是往后搞就越麻烦
想想如果总是搞套娃一样搞这种代码

赞同,希望pecmd2012越来越牛逼,睡觉睡觉
回复

使用道具 举报

14549#
 楼主| 发表于 2019-11-27 05:18:38 | 只看该作者
求道者 发表于 2019-11-27 01:48
就是这个
实际上LINK的参数部分是
但这里面有很多结果你就知道了吧……

Windows风格, 好像 不适合 \转义符。 Windows用户不习惯一堆的转义符\。喜欢直观的样子。
文件名习惯用“”来对付空格。


PECMD 的方式:
(1)通用的方式是用变量包装

(2)还可"" 对付空格文件名


一般来说, 分隔符 只看表面上书写的, 而不看展开的。 (除非命令需要,如REGI,那也是在字面失效后 才尝试)




SET &ARG=TEAM SHOW -check *F:0
LINK %Desktop%\理顺盘符,%MyName%,%&ARG%


单行形式:
TEAM~ SET &ARG=TEAM SHOW -check *F:0 | DISK -check  ,,,4,U:,0x1~ LINK %Desktop%\理顺盘符,%MyName%,%&ARG%


效果:


点评

不是不适应,实际上哪怕是cmd批处理,处理路径也是用转义。 倒不如统一用转义,变量也不特殊处理,都视为特殊字符,转义后就变成普通字符。 有了转义,写脚本还能不会用? 人不能被尿憋死。 如果\用的少或者pe  详情 回复 发表于 2019-11-27 09:58
回复

使用道具 举报

14550#
发表于 2019-11-27 09:58:22 来自手机 | 只看该作者
本帖最后由 求道者 于 2019-11-27 10:00 编辑
mdyblog 发表于 2019-11-27 05:18
Windows风格, 好像 不适合 \转义符。 Windows用户不习惯一堆的转义符\。喜欢直观的样子。
文件名习惯用 ...

  1. reg add "HKLM\SOFTWARE\Classes\7-Zip.001" /f /ve /t REG_SZ /d "001 Archive"
  2. reg add "HKLM\SOFTWARE\Classes\7-Zip.001\DefaultIcon" /f /ve /t REG_SZ /d "%TP%\7z.dll,9"
  3. reg add "HKLM\SOFTWARE\Classes\7-Zip.001\shell" /f /ve /t REG_SZ /d ""
  4. reg add "HKLM\SOFTWARE\Classes\7-Zip.001\shell\open" /f /ve /t REG_SZ /d ""
  5. reg add "HKLM\SOFTWARE\Classes\7-Zip.001\shell\open\command" /f /ve /t REG_SZ /d ""%TP%\7zFM.exe" "%%1""
复制代码

不是不适应,实际上哪怕是cmd批处理,处理路径也是用转义。
倒不如统一用转义,变量也不特殊处理,都视为特殊字符,转义后就变成普通字符。
有了转义,写脚本还能不会用?
人不能被尿憋死。
如果\用的少或者pecmd根本没定义\的用处
那就\做转义符吧。
转义符一定会用到的。
套娃代码实在没意思。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-17 12:53

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表