|
|
本帖最后由 mdyblog 于 2015-2-3 01:33 编辑
88.05.50 版
根据sp_star的建议, 完善了DLL版小PECMD.EXE的功能。
-------------------版本说明------------------------
PECMD_XX.EXE 直接双击执行不会出一个讨厌的黑窗口。但不能能在CMD.EXE界面中直接看到输出,可以重定向,可以被管道,或 for more 等命令捕捉
PECMD_XX_cli.EXE 是能在CMD.EXE界面中看到输出,直接双击执行会出一个黑窗口。
XX=u 超微版, 只能呼叫PECMD.DLL, 不能添加资源。 1.5K
XX=min 迷你版, 只能呼叫PECMD.DLL, 能添加资源,能加自动脚本和其它资源。 3K
XX=ful 完整版, 优先呼叫PECMD.DLL,其次PECMD.NTR,其次PECMD.EXE, 能添加资源,能加自动脚本和其它资源。 4K
大的PECMD.EXE 也加了 _cli 版。
---------------------说明------------------------
由于 MS的CMD.EXE设计,windows图形程序的输出不会被显示在屏幕上, 只有那些CONSOLE程序的输出会被显示的。
CONSOLE程序, 就是双击有黑窗口的程序。
其它的命令shell是会显示的输入windows小的msys的命令行Shell。
CMD不显示,但是能接受,能捕捉,能重定向。
a.ini
- ENVI$ NL=0d 0a
- ENVI S=HelloWorld 12345%NL%22222222222
- WRIT -,$+0,%S%
复制代码
- pecmd load a.ini> a.txt
- type a.txt
- pause
复制代码
pecmd load a.ini | more
pecmd WRIT -,$+0,Hello | more
pecmd WRIT -,$+0,Hello | find /V "" //这个简洁,就是去掉了没有一个字符的空行。
pecmd WRIT -,$+0,Hello | find /V "?********????*****????****^**()<>~!@#$%^&*()_+?"
FOR 也可以捕捉。
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
command也可以是PECMD命令
A1.CMD:
- dir C:\ | PECMD TEAM READ --,1,V^| MESS. %%V%%
复制代码
每次读一行。
A2.CMD:
- dir C:\ | PECMD TEAM READ --,**,^&V^| MESS. %%^&V%%
复制代码
一次直接读完
FOR 捕捉到变量A.CMD:
- ::空格分割,分成25个变量 %a %b ...%y, 剩余给%z
- FOR /F "eol=; tokens=1-25,* delims= " %%a IN ('PECMD.EXE LOAD a.ini') DO @ set v1=%%a& set v2=%%b& set v3=%%c&& set v3=%%d
- ::一行都给var:
- FOR /F "eol=; tokens=1* delims=" %%a IN ('PECMD.EXE LOAD a.ini') DO @set var=%%a
复制代码
其中A.INI:
- WRIT -,$+0,aa bb cc dd ee ff gg hh ii kkk llllll
复制代码
|
|