无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: mdyblog
打印 上一主题 下一主题

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

    [复制链接]
2911#
发表于 2012-5-17 08:10:41 | 只看该作者
回复

使用道具 举报

2912#
发表于 2012-5-17 08:46:52 | 只看该作者
原帖由 2012abc19701 于 2012-5-16 11:56 发表
》》都会提示. 只是提示的是"PECMD.EXE....."
这个不是问题。
我调调。 PECMD.EXE 没可善后的。
另外, 是否可以增加 -tms=   开关, 用户确定 总超时。(对菜单关机无效)
或者加大默认 总超时。
说不 ...



楼主这个思路很好啊,把e-13的超时时间定为默认值就可以兼容各方的需求了
回复

使用道具 举报

2913#
 楼主| 发表于 2012-5-17 09:33:02 | 只看该作者

回复 #2991 988668 的帖子

经测试, E  不会被卡住。
所以,总超时已没有必要了。
能安全的马上关机。已经很好了。
回复

使用道具 举报

2914#
发表于 2012-5-17 14:44:32 | 只看该作者
原帖由 2012abc19701 于 2012-5-17 09:33 发表
经测试, E  不会被卡住。
所以,总超时已没有必要了。
能安全的马上关机。已经很好了。


------------------------------
帮助文本更新:以 pecmd2012.0.69.66.fix13 为蓝本
1、大量的命令备注排版更新
2、如何从PECMD.替换.删除.加入.帮助文档与图标.doc更新
3、说明.txt更新
4、PECMD.exe内置帮助更新

为了保持帮助文档的一致性,请楼主新版PECMD使用该资源,请楼主有空继续纠错一下,谢谢了。

更新附件1: HELP更新资源new.part1.rar (300 KB, 下载次数: 14)   
更新附件2: HELP更新资源new.part2.rar (300 KB, 下载次数: 18)
更新附件3: HELP更新资源new.part3.rar (25.4 KB, 下载次数: 11)
回复

使用道具 举报

2915#
发表于 2012-5-17 14:54:11 | 只看该作者
原帖由 2012abc19701 于 2012-5-17 09:33 发表
经测试, E  不会被卡住。
所以,总超时已没有必要了。
能安全的马上关机。已经很好了。


------------------------------
帮助文本更新:以 pecmd2012.0.69.66.fix13 为蓝本
1、大量的命令备注排版更新
2、如何从PECMD.替换.删除.加入.帮助文档与图标.doc更新
3、说明.txt更新
4、PECMD.exe内置帮助更新

为了保持帮助文档的一致性,请楼主新版PECMD使用该资源,请楼主有空继续纠错一下,谢谢了。
*添加了繁体版,还有修正了简体版的2个表格错误。

更新附件1: HELP更新资源new.part01.rar (300 KB, 下载次数: 24)    
更新附件2: HELP更新资源new.part02.rar (300 KB, 下载次数: 14)
更新附件3: HELP更新资源new.part03.rar (300 KB, 下载次数: 16)
更新附件4: HELP更新资源new.part04.rar (292.75 KB, 下载次数: 19)   


*不知道为何刷新后就变成两次回复了??不过附件内容没有变,大家可以放心下。
还可以链接这里:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=210445&;extra=page%3D1

[ 本帖最后由 988668 于 2012-5-17 15:54 编辑 ]
回复

使用道具 举报

2916#
发表于 2012-5-17 15:58:54 | 只看该作者
原帖由 988668 于 2012-5-17 14:54 发表


------------------------------
帮助文本更新:以 pecmd2012.0.69.66.fix13 为蓝本
1、大量的命令备注排版更新
2、如何从PECMD.替换.删除.加入.帮助文档与图标.doc更新
3、说明.txt更新
4、PECMD.exe ...


---------------------------
楼主,已经添加更新了繁体版和修正了表格错误,请重新下载。有空请纠错一下,谢谢。

还有,有人在我新开的帖子反应了情况,你有空链接过去看看(链接在上面)。
回复

使用道具 举报

2917#
 楼主| 发表于 2012-5-17 18:25:13 | 只看该作者

回复 #2995 988668 的帖子

文档已更新:
PECMD2012.1.69.66_win32.多窗口多线程-13.sfx.zip  【3】
同时增加了备用链接, 115有出问题了。


同时加了
※托盘菜单开启/关闭切换: ENVI @@TaskIcoMenu=2

[ 本帖最后由 2012abc19701 于 2012-5-17 18:27 编辑 ]
回复

使用道具 举报

2918#
发表于 2012-5-17 21:04:15 | 只看该作者
原帖由 2012abc19701 于 2012-5-17 18:25 发表
文档已更新:
PECMD2012.1.69.66_win32.多窗口多线程-13.sfx.zip  【3】
同时增加了备用链接, 115有出问题了。


同时加了
※托盘菜单开启/关闭切换: ENVI @@TaskIcoMenu=2


------
楼主,请详解以下代码的意义:
1、ENVI$ &&NL=0d 0a
   ENVI$ DATA=*1M 30 0d 0a
   ENVI= DATA=*1K 0x00
2、FORX *NL 多行变量名,<变量>,<命令> [参数表] //请举实例
3、“特殊字符变量传入,输入是可以十进制。”是否可解释为“特殊字符使用变量来传入,输入支持十进制”
回复

使用道具 举报

2919#
 楼主| 发表于 2012-5-18 00:38:18 | 只看该作者
原帖由 988668 于 2012-5-17 21:04 发表
------
楼主,请详解以下代码的意义:
1、ENVI$ &&NL=0d 0a
   ENVI$ DATA=*1M 30 0d 0a
   ENVI= DATA=*1K 0x00
2、FORX *NL 多行变量名,, [参数表] //请举实例
3、“特殊字符变量传入,输入是可以十 ...




1:
ENVI$  表示 =右边输入的是文字的16 进制码
0d  0a  就是windows回车换行附的  16 进制码 , 对应10进制的 13  10
最终的文字串保存在PE变量 &NL  中。
两个  &  表示是在本级定义该PE变量。而不能是其爸爸爷爷的同名变量。

还可写为10进制码
ENVI% &&NL=13 10


2: ENVI$ DATA=*1M 30 0d 0a
对于  ENVI$  ENVI%
可以方便的使用重复因子, 以*开头的数字。
*1M 30 表示  后面的30这个字符重复1M(1024×1024)次。
30对应“0”这个字符。
重复因子可以带TGMKS 后缀;S=512,表示一扇区字节数。
后面是 windows 回车换行符 0d 0a


3:ENVI= DATA=*1K 0x00
ENVI=  名称=内容

前面的=表示 后面的内容串, 按空格分隔的词重复,重复的内容包含重复因子和 “被重复的词”之间的空字符。
格式:
『[*重复因子]  被重复的词』
*1K 0x00 表示 1K(1024) 个 " 0x00" 。
注意:这里 " 0x00" 是5个字符,而1中“  0d 0a ”是2个字符。

ENVI= DATA=*1K      abc

4: FORX *NL 多行变量名,<变量>,<命令> [参数表] //请举实例
WCS2HTMLBBS.WCS  PETOOLS_LINK.WCS 中均有实例。

WCS2HTMLBBS.WCS:
//多行PE变量 &LINES, 可能来自源码多行输入框,或用READ 命令读取的源码文件。

FORX *NL &LINES,&L,
{
    IFEX $1 = %&HTM%, CALL TreatLineHtm %&L%
    IFEX $0 = %&HTM%, CALL TreatLineBBS %&L%
    FIND $1=%&RUN%,! EXIT _SUB
    CALC  #&N = %&N% + 1
}

FORX *NL &LINES,&L,
将多行内容变量 &LINES 的内容 拆成一行一行的,每次循环取一新行,该行内容放入变量 &L。 后面循环体中可以是使用 %&L%

再举例:
EXEC* &&MSGS=!cmd.exe /c dir /b %TEMP%
FORX *NL &MSGS,&L, MESS  [%&L%]


5:“特殊字符变量传入,输入是可以十进制。”是否可解释为“特殊字符使用变量来传入,输入支持十进制”
大概是的。

有些特殊字符作为控制字符,如逗号“,”;TEAM命令中的 “|”;MESS命令中的“@#”;命令末尾的空字符等。
内容中也有这些内容.就不能直接输入,否则当作控制字符了。
可以放入一个变量。再输入%变量名%即可解决问题。
输入是可以十进制 指的是:
ENVI% 变量名=十进制内容
参见1.

如:
ENVI  MSG=ABC@#cdcds
ENVI%  MSG2= 13  10
MESS [%MSG%][%MSG2%]

[ 本帖最后由 2012abc19701 于 2012-5-18 00:51 编辑 ]
回复

使用道具 举报

2920#
发表于 2012-5-18 08:26:09 | 只看该作者
原帖由 2012abc19701 于 2012-5-18 00:38 发表




1:
ENVI$  表示 =右边输入的是文字的16 进制码
0d  0a  就是windows回车换行附的  16 进制码 , 对应10进制的 13  10
最终的文字串保存在PE变量 &NL  中。
两个  &  表示是在本级定义该PE变量。 ...


---------------------------------------------------
谢谢了,这样,许多疑问也清晰明白了许多。看了看楼主回复的时间,已经是凌晨了,请多保重,毕竟身体才是本钱 ^_^

另外,我发现“编辑内置资源.exe”的命令行:
用法
解出:  编辑内置资源.exe  <-d|-gb|-dg>   [源文件 [目标文件]]
恢复:  编辑内置资源.exe  <-r|-rb|-rg>   [源文件 [目标文件]]
直接编辑正常执行文件:
         编辑内置资源.exe  -e   [目标文件]
         编辑内置资源.exe                 <==图形界面
-dg -rg -ag 无参数  为图形界面

PECMD:  编辑内置资源.exe  --pecmd  PECMD命令 参数
PECMD:  编辑内置资源.exe  非空非以上命令   参数
我这样写:
解出: 编辑内置资源.exe -d|-gb|-dgPECMD.exe PECMD_U.exe //三个参数都用或单用或组合都无效果
恢复: 编辑内置资源.exe  -r|-rb|-rg   PECMD_U.exe PECMD_A.exe //情况相同
请楼主可否详细说一下?
回复

使用道具 举报

2921#
 楼主| 发表于 2012-5-18 09:59:16 | 只看该作者

回复 #2999 988668 的帖子

只能用一个
一般 <>  表示单选
[] 表示复选
回复

使用道具 举报

2922#
发表于 2012-5-18 10:27:22 | 只看该作者
这些参数都表示什么呢?我单个尝试遍了,都不知所以,请详细说说啊。还有,可否给出实例共参考?
回复

使用道具 举报

2923#
 楼主| 发表于 2012-5-18 11:47:08 | 只看该作者
原帖由 988668 于 2012-5-18 10:27 发表
这些参数都表示什么呢?我单个尝试遍了,都不知所以,请详细说说啊。还有,可否给出实例共参考?



重新下载吧。原来没有写完。只是这样设计,并只实现了无参数。
这次都实现了,并加了直接编辑,从而不需要多参数组合。

用法
解出:  编辑内置资源.EXE  <-d|-db|-dg>   [源文件 [目标文件]]
恢复:  编辑内置资源.EXE  <-r|-rb|-rg>   [源文件 [目标文件]]
编辑:  编辑内置资源.EXE  -eg  [源文件 [临时文件 [目标文件]]]
编辑:  编辑内置资源.EXE  -ag  [源文件 [临时文件 [目标文件]]] 【自动开始】
直接编辑正常执行文件:
         编辑内置资源.EXE  -e   [目标文件]
         编辑内置资源.EXE                 <==图形界面
-dg -rg -ag -eg 无参数  为图形界面

PECMD:  编辑内置资源.EXE  --pecmd  PECMD命令 参数
PECMD:  编辑内置资源.EXE  非空非以上命令   参数


1. 解出:编辑内置资源.EXE  <-d|-db|-dg>   [源文件 [目标文件]]
就是从源文件  中解出没有 压缩的文件,保存到  目标文件
-d 没有界面
-db 实际等于 -d (设计不是这样,算了)
-dg 有界面。

  编辑内置资源.EXE -dg  PECMD.EXE  PECMD_RAW.EXE   

2. 恢复:编辑内置资源.NTR  <-r|-rb|-rg>   [源文件 [目标文件]]  
将 没有 压缩的文件 源文件   压缩 到 目标文件
-r 没有界面
-rb 实际等于 -r (设计不是这样,算了)  
-rg 有界面。

   编辑内置资源.EXE -rg  PECMD_RAW.EXE    MyPECMD.EXE  

3. 编辑(图形界面)
编辑:  编辑内置资源.EXE  -eg  [源文件 [临时文件 [目标文件]]]
编辑:  编辑内置资源.EXE   -ag  [源文件 [临时文件 [目标文件]]] 【自动开始】
先 将 源文件 解压为   临时文件, 再编辑 临时文件,然后   临时文件 压缩为 目标文件

-ag  自动开始。
-eg  参数都填好了。 等待鼠标点下按钮。

编辑内置资源.EXE -ag PECMD.EXE  PECMD_TMP.EXE  MyPECMD.EXE


4. 直接编辑正常执行文件:
         编辑内置资源.EXE  -e   [目标文件]
如:
  编辑内置资源.EXE -e calc.exe

5. PECMD
当作PECMD.EXE 使用。
如果有参数且 第一个参数  和上面 不混淆。 直接使用。
如:
编辑内置资源.EXE MESS  HELLO@PECCMD%PECMDVER%#OK
如果第一个参数  和上面 混淆 。 前面 加 --pecmd .
目前实际不存在冲突。 用不上。 但是总可以这么写。

如:
编辑内置资源.EXE --pecmd MESS HELLO@PECCMD%PECMDVER%#OK

不过版本有点低。69.41

[ 本帖最后由 2012abc19701 于 2012-5-18 11:50 编辑 ]
回复

使用道具 举报

2924#
发表于 2012-5-18 11:55:20 | 只看该作者
原帖由 2012abc19701 于 2012-5-18 11:47 发表



重新下载吧。原来没有写完。只是这样设计,并只实现了无参数。
这次都实现了,并加了直接编辑,从而不需要多参数组合。

用法
解出:  编辑内置资源.EXE     [源文件 [目标文件]]
恢复:  编辑内 ...


----------------------------
谢谢楼主,这样我这个多余的辅助工具设计就可以不用那么繁杂了(只是用来练手)。另外还想请教,如果要获得这个工具的输出信息,就是EXCE命令的模式,要怎么做呢?是这样吗:
EXCE* -eer= 编辑内置资源.EXE-dg  "PECMD.exe" "PECMD_u1.exe" //还请楼主举例

前导"&"表示设置函数或窗口PE变量。//是否等同于备注中所说的全局PE变量?
“添加/删除只能本级PE变量。上级PE变量只是清空;”实际对应程序而言,有何影响?其意义具体体现在哪里?
比如: ENVI &&L=23后,再删除:ENVI &&L 但MESS %&&L%@ts #OK *10000 $OK 依旧显示了该值
这就说,添加/删除是不会销毁该变量的,添加还可以理解,就是不存在的话,添加上了;那么“删除”的理解就变得困难了,既然删除了,却没有销毁,还依旧存在,这该如何理解?是否必须退出了该窗口后才销毁?
如果要清空该变量,就需要这样:ENVI &L=,而 ENVI &&L=是不行的,这样的话,如果是环境变量或是全局变量,该如何清空?

[ 本帖最后由 988668 于 2012-5-18 12:33 编辑 ]
回复

使用道具 举报

2925#
 楼主| 发表于 2012-5-18 13:01:04 | 只看该作者
原帖由 988668 于 2012-5-18 11:55 发表
----------------------------
谢谢楼主,这样我这个多余的辅助工具设计就可以不用那么繁杂了(只是用来练手)。另外还想请教,如果要获得这个工具的输出信息,就是EXCE命令的模式,要怎么做呢?是这样吗: ...



1.  
编辑内置资源.EXE 没有 输出。除非修改程序(可用WRIT 输出)。

2.
前导"&"表示设置函数或窗口PE变量。//是否等同于备注中所说的全局PE变量?

不是全局PE变量 。 而是 笼统的  PE变量。
全局PE变量 是     PE变量 的一种。
全局PE变量  还要一个符号“::”

1) ENVI  &&ABC1=123  
&ABC1 一定是 局部的  PE变量 。
属于本函数或本窗口。

2)
ENVI  &ABC2=123   // 笼统的PE变量
如果本级有这个  &ABC2, 那么修改的是本级的 &ABC2 局部PE变量
如果上级有这个  &ABC2, 那么修改的是上级的 &ABC2局部PE变量
如果一直追到最顶级,即全局PE变量栈,才找到,那么那么修改的是全局变量栈的 全局PE变量&ABC2。
没找到 本级、上级到顶,都没有找到   &ABC2;那么 本级 创建并设置这个局部PE变量  &ABC2。属于本函数或本窗口。


3)  ENVI  &::ABC3=123  
设置的是   全局PE变量&ABC3  
  全局PE变量&ABC3  是 任何函数,任何窗口,任何线程都可以访问到。
访问 还是 %&ABC3%

4) 清空  全局变量
ENVI  &::ABC3=

5) 清空  笼统PE变量
ENVI  &ABC2=


ENVI &&L=23
ENVI &L=
MESS &L=[%&L%] @%PECMDVER% #OK *10000 $OK

6) 清空  环境变量
环境变量 和 PE  变量 完全是两回事。不带&标志。
ENVI  ABC5=
这样清除了环境变量ABC5的内容

[ 本帖最后由 2012abc19701 于 2012-5-18 16:41 编辑 ]
回复

使用道具 举报

2926#
 楼主| 发表于 2012-5-18 13:59:30 | 只看该作者
原帖由 988668 于 2012-5-18 11:55 发表
----------------------------
谢谢楼主,这样我这个多余的辅助工具设计就可以不用那么繁杂了(只是用来练手)。另外还想请教,如果要获得这个工具的输出信息,就是EXCE命令的模式,要怎么做呢?是这样吗: ...


1.删除 PE变量,【已作废】
重新下载 PECMD2012.1.69.66_win32.多窗口多线程-13.sfx.zip【7】

ENVI  &ABC2

说明,删除和清除不同。
删除 则这个变量了。
而 清除 后, 变量还在原处, 知识其内容被清空,变成空变量。



ENVI &&L=23
ENVI &L
MESS &L=[%&L%]@ %PECMDVER% #OK *10000 $OK

注意:访问PE变量为一个&. 两个&是用来在当前级别定义一个变量。




2. “添加/删除只能本级PE变量。上级PE变量只是清空;”实际对应程序而言,有何影响?其意义具体体现在哪里?

主要是程序逻辑结构问题。
如甲乙线程共享 &VAR1,通过&VAR1交换信息 。记为 &VAR1【1】

甲 线程 调用 一个函数X。

函数X 不知道 上级有没有  &VAR1 这个变量。一种技术,可以不考虑这个问题。
函数X :
  ENVI   &&VAR1=
  然后 创建 丙函数  .约定共享 &VAR1,通过&VAR1交换信息。记为 &VAR1【2】

  工作中,  甲或丙 删除  &VAR1 ,则   甲丙 的交换通道&VAR1【2】没有了。
但是,上级存在同名变量   &VAR1【1】  , 于是他们错误地访问和修改的  &VAR1【1】。干扰上级函数、线程 的逻辑。出现 灵异事件。

如果再删除一次  &VAR1。 则   &VAR1【1】 也被删除。 这样 逻辑更混乱了。

即使不用多线程,也存在这个问题,下级函数删除或错误篡改上级的变量。



所以。 禁止删除不是自己的PE变量。以保持逻辑结果稳定。 【最新:已回到完全禁止删除PE变量 】
只能修改其内容。

[ 本帖最后由 2012abc19701 于 2012-5-18 16:38 编辑 ]
回复

使用道具 举报

2927#
 楼主| 发表于 2012-5-18 14:09:19 | 只看该作者

回复 #3005 2012abc19701 的帖子

还是改回去。
完全禁止删除PE变量。 只能清除其内容。还是原来那样更安全。
文档改一下。
C/C++  就没有 “删除变量” 。和C/C++一样,变量只能自动销毁。


│环境变量如果没有等号=,则删除变量。       如"ENVI ABC"                                      
│PE变量如果没有等号=,则仅清除变量内容。   如"ENVI &ABC"                                    
│如果不指定值,则环境变量设为空值。如"ENVI ABC="   "ENVI &ABC="                              





PECMD2012.1.69.66_win32.多窗口多线程-13.sfx.zip【8】

[ 本帖最后由 2012abc19701 于 2012-5-18 14:33 编辑 ]
回复

使用道具 举报

2928#
发表于 2012-5-19 06:30:32 | 只看该作者
感谢楼主指导,改造天意WIn7PE成功启动上网!

sshot-1.jpg (45.52 KB, 下载次数: 158)

sshot-1.jpg

sshot-2.jpg (56.04 KB, 下载次数: 165)

sshot-2.jpg

sshot-3.jpg (52.98 KB, 下载次数: 165)

sshot-3.jpg

sshot-4.jpg (53.92 KB, 下载次数: 166)

sshot-4.jpg

sshot-5.jpg (51.88 KB, 下载次数: 173)

sshot-5.jpg

sshot-6.jpg (52.09 KB, 下载次数: 157)

sshot-6.jpg

sshot-7.jpg (55.3 KB, 下载次数: 149)

sshot-7.jpg

sshot-8.jpg (55.49 KB, 下载次数: 161)

sshot-8.jpg

sshot-9.jpg (93.91 KB, 下载次数: 132)

sshot-9.jpg

sshot-10.jpg (209.23 KB, 下载次数: 150)

sshot-10.jpg
回复

使用道具 举报

2929#
 楼主| 发表于 2012-5-19 06:42:29 | 只看该作者

回复 #3007 my9823 的帖子

好多东西啊。
好啊!
回复

使用道具 举报

2930#
发表于 2012-5-19 07:12:39 | 只看该作者
原帖由 2012abc19701 于 2012-5-18 14:09 发表
还是改回去。
完全禁止删除PE变量。 只能清除其内容。还是原来那样更安全。
文档改一下。
C/C++  就没有 “删除变量” 。和C/C++一样,变量只能自动销毁。


│环境变量如果没有等号=,则删除变量。      ...



楼主,现在这样安全多了。虽然允许删除变量会是一种比较新的技术,但是,这对于不熟悉线程变量关系的多数人而言,确实会出现许多灵异事件,同时一个处理不当,脚本那个糟糕啊,真的无法言语表达。现在这样即便出问题,起码纠错起来会容易些。有时候,在保持代码逻辑结构的稳定性上,是很必要的,尤其是当需要编写大型的脚本工具的时候。这个纠结在4.0的时候,就是一个很难处理的东西。尽管4.0在小型脚本中确实很是优秀。呵呵,继续练手中 ^_^
回复

使用道具 举报

2931#
 楼主| 发表于 2012-5-19 10:19:09 | 只看该作者

回复 #3009 988668 的帖子

顶解。
正点。                              
回复

使用道具 举报

2932#
 楼主| 发表于 2012-5-19 10:22:04 | 只看该作者

PECMD 好用工具说明.txt

参数 --help或-h 获得帮助
将 etc和System32目录放到 windows目录
注意:这些命令中目录分割符是/而不是\。其实windows也认/目录分割符.

=================================================
0: bash.exe   【非常重要】
注意:windows换行符实际是2个字符 『回车符 新行符』 ,一般写为"\r\n".
原因是古老的电脑的终端为电传打字机,需要先回车,再换新行,要2步,要2个控制符。
MS偷懒,不愿意做任何处理。以至现在如此别扭。因为这种纠结,MS命令行处理2进制文件
经常被篡改; 2进制数据不能安全地通过管道传递(还没找到开关,不知巫师命令PROMPT能否关闭换行转换)。
UNIX、LINUX都只用一个符号"\n",方便多了;命令行管道可以安全传递 2进制数据 。

标准系统,可以用bash.exe, bash.exe 是  LINUX规范, 其命令行管道可以安全传递 2进制数据。
『bash.exe -c "命令组合"』 代替 『cmd.exe /c "命令组合"』
对bash,命令组合外面的一对引号是必须的,也可以是一对单引号。

1>常用用法:
EXEC*  &RESULT=*bash.exe -c  '命令1|  命令2 2>&1|  命令3'
命令里面的引号,如果和外面的引号相同,前面需要放置\来转义。
由于,外面的引号可以选择双引号和单引号, 可以适当选择避免相同。
由于windows命令常用双引号, 所以外面多选择单引号
上面 2>&1 表示 命令2的标准错误 合并到命令2的标准输出


=================================================
1:字符串替换工具:sed   【非常重要】
Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]...

  -n, --quiet, --silent
                 suppress automatic printing of pattern space
  -e 脚本串, --expression=脚本串
                 从脚本串中读取命令
  -f 脚本文件, --file=脚本文件
                 从脚本文件中读取命令
  -c  --nocr     turn off \r$ translation; must be first switch on command line
      --help     display this help and exit
  -V, --version  output version information and exit

If no -e, --expression, -f, or --file option is given, then the first
non-option argument is taken as the sed script to interpret.  All
remaining arguments are names of input files; if no input files are
specified, then the standard input is read.

(1) 最常用用法:
  前命令|sed s/被替换串/替换串/g
  前命令 2>&1|sed s/被替换串/替换串/g
  ECHO 原始内容|sed s/被替换串/替换串/g
最后的g为全部替换,否则只一次。
ECHO后恰好一个空格,多于当作内容。
如PECMD中:
EXEC*  &RESULT=cmd.exe /c ECHO abc1abc2abc3|sed s/abc/def/g
得到&RESULT:def1def2def3

(2) 从文件读入:sed s/被替换串/替换串/g  源文件
最后的g为全部替换,否则只一次。

如PECMD中:
EXEC*  &RESULT=sed s/abc/def/g  src.txt
假定src.txt 的内容为『abc1abc2abc3』
得到&RESULT:『def1def2def3』




=================================================
2: 字符翻译器: tr  【非常有用】
用法: tr [选项]... 集合1 [集合2]
输入为标准输入,输出为标准输出
翻译, 或压缩, 或删除 字符.

  -c, -C, --complement    第一次匹配 集合1
  -d, --delete            删除集合1中出现的字符,此时不需要集合2
  -s, --squeeze-repeats   匹配连续重复字符,只替换为一个字符,用于翻译
  -t, --truncate-set1     首先 缩短 集合1 到和 集合2一样长,用于翻译
      --help     帮助
      --version  输出版本号

集合 就是一串字符,一对中挂号包围。大部分字符表示本身。少数为转义序列。
转义序列:

  \NNN            8进制数值NNN 表示的字符  (1 到 3 个 8进制位)
  \\              \
  \a              响铃符
  \b              退格符
  \f              换页符
  \n              新行符
  \r              回车符
  \t              水平跳格符(TAB)
  \v              垂直跳格符
  字符1-字符2     从字符1到字符2的所有字符,升序
  [字符*]         用于 集合2, 重复拷贝该字符直到和集合1一样长
  [字符*重复次数]  重复次数个该字符。 重复次数以0开头则为8进制
  [:alnum:]       所有字母和数字
  [:alpha:]       所有字母
  [:blank:]       水平跳格符(TAB)和空白字符(whitespace)
  [:cntrl:]       所有控制符
  [:digit:]       所有数字(0-9)
  [:graph:]       所有可打印字符,不含空格
  [:lower:]       所有小写字母(a-z)
  [:print:]       all printable characters, including space
  [:punct:]       all punctuation characters
  [:space:]       水平跳格符(TAB)和垂直跳格符(\v)和空白字符(whitespace)
  [:upper:]       所有大写字母(A-Z)
  [:xdigit:]      所有16进制数字(0-9 a-f A-F)
  [=CHAR=]        等于CHAR的所有字符

集合2 中 只有 [:lower:] and [:upper:] 扩展后保证是升序的;只用于大小写转换
集合2 自动扩展到 集合1一样长,重复最后的字符;而忽略多于的字符。


翻译: tr 集合1  集合2

删除: tr -d 集合1


注意:windows换行符实际是2个字符 『回车符 新行符』 ,一般写为"\r\n".






=================================================
3:文件2进制和文本间的转换  【非常有用】
Usage:
       xxd [options] [infile [outfile]]
    or
       xxd -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]
Options:
    -a          toggle autoskip: A single '*' replaces nul-lines. Default off.
    -b          binary digit dump (incompatible with -p,-i,-r). Default hex.
    -c cols     format <cols> octets per line. Default 16 (-i: 12, -ps: 30).
    -E          show characters in EBCDIC. Default ASCII.
    -g          number of octets per group in normal output. Default 2.
    -h          print this summary.
    -i          output in C include file style.
    -l len      stop after <len> octets.
    -ps         output in postscript plain hexdump style.
    -r          reverse operation: convert (or patch) hexdump into binary.
    -r -s off   revert with <off> added to file positions found in hexdump.
    -s [+][-]seek  start at <seek> bytes abs. (or +: rel.) infile offset.
    -u          use upper case hex letters.
    -v          show version: "xxd V1.10 27oct98 by Juergen Weigert".

(1) 最常用用法,2进制和HEX文本:
2进制=>HEX文本
   xxd -g1 源文件 [输出文件]
   前命令|xxd -g1 - [输出文件]
     //前命令的输出作为输入
   前命令 2>&1 |xxd -g1 - [输出文件]
     //先将前命令的标准错误合并到输出,再作为输入

HEX文本=>2进制
   xxd -r 源文件 2进制输出文件
   前命令|xxd -r - 2进制输出文件
   源文件和前命令输出 必须是 xxd HEX文本 格式。
   本来可以省略2进制输出文件,直接输出到标准输出。但windows标准输出不支持2进制,可能篡改2进制内容。
   一般还是写到文件吧。

(4) 重要开关
-r
   反向转换
-r -s off
   跳过off 开始反向转换   
   
-c 列数
  每少字符解码输出到一列。默认16。(-i模式默认12)
-g数字
  每多少字节输出一组。默认2. 一般用 『-g1』
-i
  源文件转换成C、C++头文件
-b
  输出2进制可读文本(010101..),而不是HEX
-l len
  最多转换len字节
  
-s [+][-]seekN
   跳过seekN 字节,开始转换
-u
   输出大写 HEX(ABCDEF)





=================================================
4:行排序:lsort.exe
原名sort.exe由于和windows的是sort重名,改名为lsort 【linux sort】
Usage: sort [OPTION]... [FILE]...
Write sorted concatenation of all FILE(s) to standard output.

Mandatory arguments to long options are mandatory for short options too.
Ordering options:

  -b, --ignore-leading-blanks  ignore leading blanks
  -d, --dictionary-order      consider only blanks and alphanumeric characters
  -f, --ignore-case           fold lower case to upper case characters
  -g, --general-numeric-sort  compare according to general numerical value
  -i, --ignore-nonprinting    consider only printable characters
  -M, --month-sort            compare (unknown) < `JAN' < ... < `DEC'
  -n, --numeric-sort          compare according to string numerical value
  -r, --reverse               reverse the result of comparisons

Other options:

  -c, --check               check whether input is sorted; do not sort
  -k, --key=POS1[,POS2]     start a key at POS1, end it at POS2 (origin 1)
  -m, --merge               merge already sorted files; do not sort
  -o, --output=FILE         write result to FILE instead of standard output
  -s, --stable              stabilize sort by disabling last-resort comparison
  -S, --buffer-size=SIZE    use SIZE for main memory buffer
  -t, --field-separator=SEP  use SEP instead of non-blank to blank transition
  -T, --temporary-directory=DIR  use DIR for temporaries, not $TMPDIR or /tmp;
                              multiple options specify multiple directories
  -u, --unique              with -c, check for strict ordering;
                              without -c, output only the first of an equal run
  -z, --zero-terminated     end lines with 0 byte, not newline
      --help     display this help and exit
      --version  output version information and exit

POS is F[.C][OPTS], where F is the field number and C the character position
in the field.  OPTS is one or more single-letter ordering options, which
override global ordering options for that key.  If no key is given, use the
entire line as the key.

SIZE may be followed by the following multiplicative suffixes:
% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.

With no FILE, or when FILE is -, read standard input.


(1) 最常用用法:前命令|SORT
将前命令的输出排序再输出

(2) 最常用用法: SORT 源文件
将源文件排序再输出



(3) 重要开关

-n 按数值而不是字面排序。如按数值10比9大;按字面10比9小。
-r 反向排序
--ignore-case  排序时忽略大小写。可简写 -f
--ignore-nonprinting   排序时忽略不可打印字符。可简写 -i


--output=输出文件
  默认输出显示
  
--key=POS1[,POS2]
  从POS1到POS2为排序关键词。默认整行。
  POS形式为:F[.C]

  F为第几个域(词), C为该域的第几列。

  
--field-separator=SEP
  指定
域(词)间分割符,默认为空字符

  
=================================================
5: 取文本文件头部

用法: head [OPTION]... [FILE]...
Print the first 10 lines of each FILE to standard output.
With more than one FILE, precede each with a header giving the file name.
With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.
  -c, --bytes=[-]N         print the first N bytes of each file;
                             with the leading `-', print all but the last
                             N bytes of each file
  -n, --lines=[-]N         print the first N lines instead of the first 10;
                             with the leading `-', print all but the last
                             N lines of each file
  -q, --quiet, --silent    never print headers giving file names
  -v, --verbose            always print headers giving file names
      --help     display this help and exit
      --version  output version information and exit

N may have a multiplier suffix: b 512, k 1024, m 1024*1024.

(1) 最常用用法:前命令|head
取前命令的输出的前10行再输出

(2) 最常用用法: head 源文件1  [源文件2 ..]
取每个源文件的前10行再输出

(3) 重要开关
--lines=[-]行数
  取多少行,默认10. -表示除去最后的多少行以外的全部
--bytes=[-]列数
  每行取多少列,默认全部. -表示除去最后的多少列以外的全部
  
行数/列数可带后缀bkm:b=512, k=1024, m=1024*1024



=================================================
6: 取文本文件尾部

用法: tail [OPTION]... [FILE]...
Print the last 10 lines of each FILE to standard output.
With more than one FILE, precede each with a header giving the file name.
With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.
      --retry              keep trying to open a file even if it is
                           inaccessible when tail starts or if it becomes
                           inaccessible later; useful when following by name,
                           i.e., with --follow=name
  -c, --bytes=N            output the last N bytes
  -f, --follow[={name|descriptor}]
                           output appended data as the file grows;
                           -f, --follow, and --follow=descriptor are
                           equivalent
  -F                       same as --follow=name --retry
  -n, --lines=N            output the last N lines, instead of the last 10
      --max-unchanged-stats=N
                           with --follow=name, reopen a FILE which has not
                           changed size after N (default 5) iterations
                           to see if it has been unlinked or renamed
                           (this is the usual case of rotated log files)
      --pid=PID            with -f, terminate after process ID, PID dies
  -q, --quiet, --silent    never output headers giving file names
  -s, --sleep-interval=S   with -f, sleep for approximately S seconds
                           (default 1.0) between iterations.
  -v, --verbose            always output headers giving file names
      --help     display this help and exit
      --version  output version information and exit

If the first character of N (the number of bytes or lines) is a `+',
print beginning with the Nth item from the start of each file, otherwise,
print the last N items in the file.  N may have a multiplier suffix:
b 512, k 1024, m 1024*1024.

With --follow (-f), tail defaults to following the file descriptor, which
means that even if a tail'ed file is renamed, tail will continue to track
its end.  This default behavior is not desirable when you really want to
track the actual name of the file, not the file descriptor (e.g., log
rotation).  Use --follow=name in that case.  That causes tail to track the
named file by reopening it periodically to see if it has been removed and
recreated by some other program.


(1) 最常用用法:前命令|tail
取前命令的输出的后10行再输出

(2) 最常用用法: tail 源文件1  [源文件2 ..]
取每个源文件的后10行再输出

(3) 最常用用法:前命令|tail -f
监视前命令的输出的后10行。显示会动态变化



(4) 重要开关
--lines=行数
  取多少行,默认10.
--bytes=字符数
  取最后的多少字符,默认按行计算.

--pid=PID
  改PID对应进程终止是自动退出。
  
-f
  监视模式
  
--sleep-interval=S
  监视模式监视周期,单位秒,默认1
  
  
行数/字符数可带后缀bkm:b=512, k=1024, m=1024*1024


=================================================
7: 列出进程:ps
Usage ps [-aefl] [-u uid]
-f = show process uids, ppids
-l = show process uids, ppids, pgids, winpids
-u uid = list processes owned by uid
-a, -e = show processes of all users
-s = show process summary
-W = show windows as well as cygwin processes

(1) 最常用用法: ps -W

由于各列等宽,可以很容易用MSTR取出各列




   
=================================================
8.压缩软件:gzip
gzip 1.2.4 (18 Aug 93)
usage: gzip [-acdfhlLnNrtvV19] [-S suffix] [file ...]
-a --ascii       ascii text; convert end-of-lines using local conventions
-c --stdout      write on standard output, keep original files unchanged
-d --decompress  decompress
-f --force       force overwrite of output file and compress links
-h --help        give this help
-l --list        list compressed file contents
-L --license     display software license
-n --no-name     do not save or restore the original name and time stamp
-N --name        save or restore the original name and time stamp
-q --quiet       suppress all warnings
-r --recursive   operate recursively on directories
-S .suf  --suffix .suf     use suffix .suf on compressed files
-t --test        test compressed file integrity
-v --verbose     verbose mode
-V --version     display version number
-1 --fast        compress faster
-9 --best        compress better
file...          files to (de)compress. If none given, use standard input.


=================================================
9.打包/解包软件:tar

GNU `tar' saves many files together into a single tape or disk archive, and
can restore individual files from the archive.

Usage: tar [OPTION]... [FILE]...

Examples:
  tar -cf archive.tar foo bar  # Create archive.tar from files foo and bar.
  tar -tvf archive.tar         # List all files in archive.tar verbosely.
  tar -xf archive.tar          # Extract all files from archive.tar.

If a long option shows an argument as mandatory, then it is mandatory
for the equivalent short option also.  Similarly for optional arguments.

Main operation mode:
  -t, --list              list the contents of an archive
  -x, --extract, --get    extract files from an archive
  -c, --create            create a new archive
  -d, --diff, --compare   find differences between archive and file system
  -r, --append            append files to the end of an archive
  -u, --update            only append files newer than copy in archive
  -A, --catenate          append tar files to an archive
      --concatenate       same as -A
      --delete            delete from the archive (not on mag tapes!)

Operation modifiers:
  -W, --verify               attempt to verify the archive after writing it
      --remove-files         remove files after adding them to the archive
  -k, --keep-old-files       don't replace existing files when extracting
      --overwrite            overwrite existing files when extracting
  -U, --unlink-first         remove each file prior to extracting over it
      --recursive-unlink     empty hierarchies prior to extracting directory
  -S, --sparse               handle sparse files efficiently
  -O, --to-stdout            extract files to standard output
  -G, --incremental          handle old GNU-format incremental backup
  -g, --listed-incremental=FILE
                             handle new GNU-format incremental backup
      --ignore-failed-read   do not exit with nonzero on unreadable files

Handling of file attributes:
      --owner=NAME             force NAME as owner for added files
      --group=NAME             force NAME as group for added files
      --mode=CHANGES           force (symbolic) mode CHANGES for added files
      --atime-preserve         don't change access times on dumped files
  -m, --modification-time      don't extract file modified time
      --same-owner             try extracting files with the same ownership
      --no-same-owner          extract files as yourself
      --numeric-owner          always use numbers for user/group names
  -p, --same-permissions       extract permissions information
      --no-same-permissions    do not extract permissions information
      --preserve-permissions   same as -p
  -s, --same-order             sort names to extract to match archive
      --preserve-order         same as -s
      --preserve               same as both -p and -s

Device selection and switching:
  -f, --file=ARCHIVE             use archive file or device ARCHIVE
      --force-local              archive file is local even if has a colon
      --rsh-command=COMMAND      use remote COMMAND instead of rsh
  -[0-7][lmh]                    specify drive and density
  -M, --multi-volume             create/list/extract multi-volume archive
  -L, --tape-length=NUM          change tape after writing NUM x 1024 bytes
  -F, --info-script=FILE         run script at end of each tape (implies -M)
      --new-volume-script=FILE   same as -F FILE
      --volno-file=FILE          use/update the volume number in FILE

Device blocking:
  -b, --blocking-factor=BLOCKS   BLOCKS x 512 bytes per record
      --record-size=SIZE         SIZE bytes per record, multiple of 512
  -i, --ignore-zeros             ignore zeroed blocks in archive (means EOF)
  -B, --read-full-records        reblock as we read (for 4.2BSD pipes)

Archive format selection:
  -V, --label=NAME                   create archive with volume name NAME
              PATTERN                at list/extract time, a globbing PATTERN
  -o, --old-archive, --portability   write a V7 format archive
      --posix                        write a POSIX format archive
  -j, --bzip2                        filter the archive through bzip2
  -z, --gzip, --ungzip               filter the archive through gzip
  -Z, --compress, --uncompress       filter the archive through compress
      --use-compress-program=PROG    filter through PROG (must accept -d)

Local file selection:
  -C, --directory=DIR          change to directory DIR
  -T, --files-from=NAME        get names to extract or create from file NAME
      --null                   -T reads null-terminated names, disable -C
      --exclude=PATTERN        exclude files, given as a globbing PATTERN
  -X, --exclude-from=FILE      exclude globbing patterns listed in FILE
  -P, --absolute-names         don't strip leading `/'s from file names
  -h, --dereference            dump instead the files symlinks point to
      --no-recursion           avoid descending automatically in directories
  -l, --one-file-system        stay in local file system when creating archive
  -K, --starting-file=NAME     begin at file NAME in the archive
  -N, --newer=DATE             only store files newer than DATE
      --newer-mtime            compare date and time when data changed only
      --after-date=DATE        same as -N
      --backup[=CONTROL]       backup before removal, choose version control
      --suffix=SUFFIX          backup before removal, override usual suffix

Informative output:
      --help            print this help, then exit
      --version         print tar program version number, then exit
  -v, --verbose         verbosely list files processed
      --checkpoint      print directory names while reading the archive
      --totals          print total bytes written while creating archive
  -R, --block-number    show block number within archive with each message
  -w, --interactive     ask for confirmation for every action
      --confirmation    same as -w

The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control may be set with --backup or VERSION_CONTROL, values are:

  t, numbered     make numbered backups
  nil, existing   numbered if numbered backups exist, simple otherwise
  never, simple   always make simple backups

GNU tar cannot read nor produce `--posix' archives.  If POSIXLY_CORRECT
is set in the environment, GNU extensions are disallowed with `--posix'.
Support for POSIX is only partially implemented, don't count on it yet.
ARCHIVE may be FILE, HOST:FILE or USER@HOST:FILE; and FILE may be a file
or a device.  *This* `tar' defaults to `-f- -b20'.

生成的*.tar文件,可以进一步gzip压缩成*.tar.gz压缩包;
gzip -9 ABC.tar
得到压缩包ABC.tar.gz

tar也可用-z开关直接压缩成*.tgz压缩包。(tgz就是tar.gz的缩写)

(1) 最常用用法:
   压缩: tar  -czf 压缩包名 被压目录或文件1  [被压目录或文件2 ...]
   列表: tar  -lxf 压缩包名
   解压: tar  [-C 解压目录] -xzf 压缩包名
   提取: tar  [-C 解压目录] -zf 压缩包名  --get 提取的文件名或目录名



=================================================
10:输出分流器:tee
Usage: tee [OPTION]... [文件1] [文件2 ...]
Copy standard input to each FILE, and also to standard output.

  -a, --append              追加到文件中;否则先清除原有内容。
  -i, --ignore-interrupts   忽略Ctrl-C等终止信号
      --help     display this help and exit
      --version  output version information and exit

If a FILE is -, copy again to standard output.

将前一命令的标准输出拷贝到每一个文件,同时输出到标准输出.
输出文件可以是-,表示再拷贝到标准输出一次。

(1) 最常用用法:前命令| tee my.log
               前命令 2>&1| tee my.log




=================================================
11: 去除连续重复行:uniq
用法: uniq.exe [选项]... [输入文件 [输出文件]]
Discard all but one of successive identical lines from INPUT (or
standard input), writing to OUTPUT (or standard output).

Mandatory arguments to long options are mandatory for short options too.
  -c, --count           prefix lines by the number of occurrences
  -d, --repeated        只输出重复行
  -D, --all-repeated[=delimit-method] print all duplicate lines
                        delimit-method={none(default),prepend,separate}
                        Delimiting is done with blank lines.
  -f, --skip-fields=N   比较时忽略开始 N 个域(词)
  -i, --ignore-case     比较时忽略大小写
  -s, --skip-chars=N    比较时忽略开始 N 字符
  -u, --unique          只输出唯一行
  -w, --check-chars=N   一行中最多比较 N 字符
      --help     display this help and exit
      --version  output version information and exit

A field is a run of whitespace, then non-whitespace characters.
Fields are skipped before chars.

默认:连续重复行 只保留一行。
一般先排序

(1) 最常用用法:  
   前命令| uniq [ -  输出文件]
   前命令|sort| uniq  [ -  输出文件]
   sort 文件| uniq  [ -  输出文件]
   uniq 输入文件 [输出文件]
   
   
包中有, PECMD可以直接调用的好工具WINDOWS目录下\好用工具说明.txt




[ 本帖最后由 2012abc19701 于 2012-5-19 19:48 编辑 ]

好用工具说明.txt.zip

8.82 KB, 下载次数: 35, 下载积分: 无忧币 -2

回复

使用道具 举报

2933#
发表于 2012-5-19 12:33:06 | 只看该作者
楼主强人,linux也涉足啊!期待楼主将更多的linux中的工具的功能集成进pecmd2012!
回复

使用道具 举报

2934#
发表于 2012-5-19 23:08:19 | 只看该作者
PECMD2012.1.69.66_win32.多窗口多线程-13测试
在XP CMD命令行窗口环境下pecmd file 2012.exe=>d:\0000
                                     pecmd file 2012.exe->d:\0000   不成功
                                     Pecmd file 2012.exe 成功  
                                     pecmd file 2012.exe=>d:\0000\bbb.exe    将在目标目录创建一个0字节bbb.exe文件

D:\>pecmd file 2012.exe=>d:\0000
拒绝访问。
D:\>pecmd file 2012.exe=>d:\0000\
系统找不到指定的路径。
D:\>pecmd file 2012.exe=>d:\0000\bbb.exe    将在目标目录创建一个0字节bbb.exe文件

双击打开直接在pecmdedit编辑环境下输入file vvv.exe =>nnn.exe 执行复制不成功

wcs文件内容
file vvv.exe =>nnn.exe
把wcs文件拖到PEcmdedit图标上再执行成功
用PECMD load *.wcs         在wcs里加载FILE命令成功

在PECMD命令行下执行以上命令均成功


其它命令未测试


[ 本帖最后由 haiou327 于 2012-5-20 00:42 编辑 ]
回复

使用道具 举报

2935#
发表于 2012-5-19 23:26:35 | 只看该作者

回复 #3014 haiou327 的帖子

楼主,不断进步,呵呵,明天有"好东西",今天太累了,明天见!楼主也多休息。
回复

使用道具 举报

2936#
 楼主| 发表于 2012-5-20 01:30:20 | 只看该作者
原帖由 haiou327 于 2012-5-19 23:08 发表
PECMD2012.1.69.66_win32.多窗口多线程-13测试
在XP CMD命令行窗口环境下pecmd file 2012.exe=>d:\0000
                                     pecmd file 2012.exe->d:\0000   不成功
                     ...



失败的原因是:
CMD  自己先解释了">"
可用一对""
对CMD不是很熟悉的话,还是直接用WCS,PECMD.EXE 命令行, PECMDEDIT.EXE.

在XP CMD命令行窗口环境下
pecmd "file 2012.exe=>d:\0000"
pecmd "file 2012.exe->d:\0000"
Pecmd file 2012.exe  
pecmd "file 2012.exe=>d:\0000\bbb.exe"

D:\>pecmd "file 2012.exe=>d:\0000"
D:\>pecmd "file 2012.exe=>d:\0000\"
D:\>pecmd "file 2012.exe=>d:\0000\bbb.exe"
回复

使用道具 举报

2937#
发表于 2012-5-20 11:52:43 | 只看该作者
原帖由 2012abc19701 于 2012-5-20 01:30 发表



失败的原因是:
CMD  自己先解释了">"
可用一对""。
对CMD不是很熟悉的话,还是直接用WCS,PECMD.EXE 命令行, PECMDEDIT.EXE.

在XP CMD命令行窗口环境下
pecmd "file 2012.exe=>d:\0000"
pecmd  ...


---------------------------
呵呵,努力练手的结果出来了。依据功能需求制作的资源编辑辅助工具:
功能特色:
1、使用PECMD开发的脚本,完全开源(脚本没有加密也没有嵌入,方便大家DIY!DIY请遵守授权约定--看工具的说明窗口或文

档)
2、可以扩展许多功能,正在构思中,大家可以一起DIY添加;现有的:
   a、编辑内置HELP资源,实现重新发布功能(与编辑内置资源.exe配合使用)
      *实际上熟悉的话,直接用编辑内置资源.exe会更自由些。现在有操作提
       示,和发布功能,相信对新手会容易些吧。
   b、脚本运行测试功能
   c、集成文本工具
   d、脚本压缩与解压缩(暂时没有加密选项)
   e、一键启动脚本设计工具
3、与PECMD2012无缝结合,可以成为命令器的扩展器和前端;
4、还有的这个只是简单的雏形,错误不在少数估计需要增强的地方太多...大家一起来增强它吧
*楼主,相信这个简单的练手工具可以帮你一点忙哦
*请用“启动器.cmd”来启动文件分别为:启动器.cmd,启动器.ini,资源重编译辅助工具.wcs

关于脚本编辑器的提议:希望楼主先把它作为易语言版的“PECEdit.exe”工具的界面IDE设计增强器这方面努力,主要是易语

言版的已经不太适合现在这个命令器的界面开发了,而且对于使用ULTRAEDIT的朋友而言,这个IDE设计器也是急需的。而且要

全面取代“PECEdit.exe”与“ULTRAEDIT”,还需要很大的努力,与其这样,不如先三者兼容,将命令器做好了再搞它不迟。

楼主,网格的意思如图:(参考WIMTOOL)



这个样式可以让EDIT编辑框控件支持吗?
其他关于EDIT与MEMO控件的:
1、自动刷新到最新的信息行-
2、除支持\n换行外,同时支持自动换行(MEMO在可编辑状态下可以,只读
   不行),在可编辑与只读模式与设立背景色下都支持就好了;
3、MEMO增加依据功能变量实现跳进显示指定行和滚屏效果,如果也支持网格
   的话,估计难度会很高吧;
4、LABE控件是否不支持鼠标信息映射,即使设置了也没有反应?
5、CMPS压缩命令,压缩指定压缩文件格式后缀没有问题,但是解压呢,由于
   有保留了源文件格式标志的功能,换言之就是只要确定一个没有后缀的名
   称,命令就会自动解压还原文件,但是现在根本做不到了,如:
     CMPS  -f -m WORDFILE.TXT,WORDFILE.wcz //压缩没有问题
     CMPS  -f -u WORDFILE.wcz,WORDFILE     //这样解压无法还原为TXT格式文件
    *只能够变通来处理,在我的练手中有这样的应用;
6、真的要请教楼主,怎么样才能操作子窗口的控件,而子窗口如何操作父窗口的控件;
   父子窗口层级如何制定?(虽然研究了范例,但还是无法应用,请详细说说。)
7、FORX命令的问题:(文件在附件)
   1、中英文文件一起操作仅英文开始的文件与部分中文文件成功
   2、中文名称文件无效
   3、英中文格式文件名称会被截断或更改
  *以上问题在练手实例中也一样;

附件包含了所有的东西了,包括测试的“forx命令测试1.wos”。

附件1: PECMD2012.1.69.66_win32.多窗口多线程-13-8测试包.sfx.rar (246.88 KB, 下载次数: 27)

[ 本帖最后由 988668 于 2012-5-20 12:00 编辑 ]
回复

使用道具 举报

2938#
发表于 2012-5-20 12:12:59 | 只看该作者

回复 #3016 2012abc19701 的帖子

感谢释疑,找到相关说明了

◎如果在命令行中使用,且参数中带有">"或"|",则命令后的参数必须用引号包围,否则将会被认为是重定向或┃
┃    │  管道操作符。本程序支持引号参数解析。
回复

使用道具 举报

2939#
 楼主| 发表于 2012-5-20 20:01:26 | 只看该作者
原帖由 988668 于 2012-5-20 11:52 发表
---------------------------
呵呵,努力练手的结果出来了。依据功能需求制作的资源编辑辅助工具:
功能特色:
1、使用PECMD开发的脚本,完全开源(脚本没有加密也没有嵌入,方便大家DIY!DIY请遵守授权 ...




Q1:文件名称会被截断或更改
A:
出在FILE命令调用的API。 WINDOWS  API 古怪之处。

实验,更改那些目录通配符。
可以前面当前目录“.\”
  FILE  *.txt->帮助与实例\
改为:
  FILE  .\*.txt->帮助与实例\


3.9, 4.0 也这样。(windows营养不良)

现这样应付吧。





Q2: 表格

EDIT、MEMO不行。

必须TABL命令。

原打算TABL命令,还没做。




[ 本帖最后由 2012abc19701 于 2012-5-20 20:06 编辑 ]
回复

使用道具 举报

2940#
 楼主| 发表于 2012-5-20 20:50:03 | 只看该作者
原帖由 988668 于 2012-5-20 11:52 发表
---------------------------
呵呵,努力练手的结果出来了。依据功能需求制作的资源编辑辅助工具:
功能特色:
1、使用PECMD开发的脚本,完全开源(脚本没有加密也没有嵌入,方便大家DIY!DIY请遵守授权 ...




MEMO/EDIT  只读状态下 “自动换行什么意思?




1、“自动刷新到最新的信息行”  什么意思?




“MEMO增加依据功能变量实现跳进显示指定行” 可以。


“和滚屏效果”具体怎么样(HOW  TO DO)?




Q:LABE控件是否不支持鼠标信息映射
好像LABE没有这个功能。 是否可用EDIT变通?






CMPS  后缀关。
CMPS  -f -m WORDFILE.TXT  WORDFILE.wcz
CMPS -u    WORDFILE.wcz  WORDFILE






6、真的要请教楼主,怎么样才能操作子窗口的控件,而子窗口如何操作父窗口的控件;
    父子窗口层级如何制定?(虽然研究了范例,但还是无法应用,请详细说说。)

Q6:

1》怎么样才能操作子窗口的控件:

根据父子链来操作。

如 TABS属性页表.画中画.窗口类实例_TEST.wcs:

ENVI @Name1:LABE1=欢迎光临TABS1
Name1当前窗口的直系控件,即属性页的第一页。

LABE1 是该控件的子控件。





子窗口如何操作父窗口的控件?

一般直接操作。

除非,回朔链上碰到另一个同名控件。

-为上级,如此构成父子链。

如 -:LABE1  为爸爸的LABE1控件

-:-:LABE1  为爷爷的LABE1控件

-:NAME2:LABE1  为叔叔NAME2的LABE1控件




3> 父子窗口层级如何制定?

安定义的位置。

A 在B 的窗口内定义的,A就是B的儿子。

对TABS,

TABS本身, 和 每一页都是  当前 窗口的直系儿子。

定义的实际名字就是就是儿子的名字。



SWIN A 在 B窗口内定义, A就是 B的的直系儿子。

定义的实际名字就是就是儿子的名字。

[ 本帖最后由 2012abc19701 于 2012-5-20 20:59 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-17 18:00

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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