无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)无忧启动网成立20周年!广告联系 QQ:184822951 微信:wuyouceo
查看: 1541|回复: 2

征集WINCMD脚本/工具

[复制链接]
发表于 2010-3-24 22:17:41 | 显示全部楼层 |阅读模式
最近论坛里又兴起了许多以wincmd/pecmd 做成Gui的小工具.
我也来凑个热闹.
发一些例子,与大家一同交流


Wincmd相较于cmd.exe 最大的不足的就是可扩展、交换能力。
在一段时间的摸索中,我发现了一个变通的方法,以实现wincmd与命令行程序沟通的方法。
如下。

_SUB Main,W200H100,Ping测试
EDIT ED1,L10T30W120H16,192.168.1.1,CALL PingIP
ITEM BT1,L140T30W40H18,PING,CALL PingIP
_END


_SUB PingIP
CALL MakePing
EXEC =!%Temp%\pingCtr.cmd
FILE %Temp%\pingCtr.cmd

ENVI EL=
LOAD %TEMP%\Errorlevel.ini
FILE %TEMP%\Errorlevel.ini

FIND $%EL%=0,MESS Ping %ED1%成功 @提示%EL%#OK!MESS 没有得到来自%ED1%的响应 @%EL%#OK
_END


_SUB MakePing
EXEC !CMD.EXE /c "echo>%Temp%\pingCtr.cmd ping %ED1% -n 1"
EXEC !CMD.EXE /c "echo>>%Temp%\pingCtr.cmd if %errorlevel^%==0 echo^>%temp^%\Errorlevel.ini ENVI EL=0"
_END


CALL @Main


类似 的还有:

_SUB Main,W200H100,进程查看
LIST TSK,L20T30W120H18,
ITEM REF,L150T31W40H18,刷新,CALL refresh
_END

_SUB Refresh
CALL MakeShowtsglist
EXEC =!%Temp%\tsklist.cmd
//FILE %Temp%\tsklist.cmd
LOAD %Temp%\tsgrt.ini
//FILE %Temp%\tsgrt.ini
ENVI @TSK=%TSK%
_END

_SUB MakeShowtsglist
EXEC !CMD.EXE /c " echo>%Temp%\tsklist.cmd @echo off^&^&setlocal enabledelayedexpansion"
EXEC !CMD.EXE /c "echo>>%Temp%\tsklist.cmd tasklist /FI "username eq %username%"^>%temp^%\tsklist.txt"
EXEC !CMD.EXE /c "echo>>%Temp%\tsklist.cmd set tsklist=ENVI TSK^^^="
EXEC !CMD.EXE /c "echo>>%Temp%\tsklist.cmd for /f %%i in (%temp^%\tsklist.txt) do ("
EXEC !CMD.EXE /c "echo>>%Temp%\tsklist.cmd if %%~xi==.exe ("
EXEC !CMD.EXE /c "echo>>%Temp%\tsklist.cmd
if not %%i==tasklist.exe set tsklist=!tsklist!%%i^^^|"

EXEC !CMD.EXE /c "echo>>%Temp%\tsklist.cmd
)"

EXEC !CMD.EXE /c "echo>>%Temp%\tsklist.cmd )"
EXEC !CMD.EXE /c "echo>>%Temp%\tsklist.cmd echo !tsklist!^>%temp^%\tsgrt.ini"
_END

CALL @Main


看看, 是不是很有意思?
大家有什么心得或,有意思的脚本,也不妨共享一下 ^_^
 楼主| 发表于 2010-3-24 22:20:41 | 显示全部楼层
_sub Main,w300h200,修改驱动器图标
LABE LB1,l5t53w32h16,盘符:
LIST PND,L40T50W40H16,%AllDrv%,CALL ReadVal
IMAG IMG,L90t30w32h32,%PESRC%
ITEM BT2,L140T50W40H18,还原,CALL RESET
ITEM BT3,L180T50W40H18,确定,CALL CGICO
ITEM BT4,L220T50W60H18,重启Shell,CALL RestartShell

LABE LB2,L5T78W32H16,图标
LABE LB3,L222T78W20H16,ID
EDIT PEID,L240T75W13h16,0
EDIT PESRC,L40T75W180H16,
ITEM BT1,L255t75w32h16,浏览,CALL BrowSRC

_END


_SUB BrowSRC
BROW ICOSRC,,请选择一个文件,*;*.exe;*.dll
ENVI @PESRC=%ICOSRC%
ENVI @IMG=%PESRC%
RSTR EXT=%PESRC%,3
FIND $%EXT%=ico,!MESS 你选择的文件是:\n%ICOSRC%,\n此类文件通常可能包含一个或多个图标,\n索引ID从0开始! @#OK

FIND $%EXT%=ico,EXIT
FIND $%EXT%=exe,EXIT
FIND $%EXT%=dll,EXIT
MESS 该类文件:\n%PESRC%\n并不包含图标. @提示#OK
ENVI EXT=
ENVI PESRC=
ENVI @PESRC=
_END

_SUB CGICO
Find $%EXT%=,TEAM MESS 没有指定图标文件 @#OK|EXIT
Find $%EXT%=ico,ENVI K=%PESRC%!ENVI K=%PESRC%,%PEID%
REGI $%REGK%
MESS 把原来:%RegDat%\n修改为\n%K% \n\n确定吗?@#YN
FIND $%YESNO%=NO,EXIT
REGI %REGK%=%K%

REGI $%REGK%
//MESS $%RegDat%\n=\n%K% @#OK
FIND $%RegDat%=%K%,MESS 修改成功\n建议重启Shell以查看效果@#OK
_END

_SUB ReadVal
LSTR PND=%PND%,1
MESS %PND%@#OK
ENVI REGK=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\%PND%\DefaultIcon\
_END

_SUB RESET
FIND $%PND%=,TEAM MESS 请选择盘符 @错误#OK|EXIT
REGI %REGK%=
REGI $%REGK%
FIND $%RegDat%=,MESS 还原成功 @#OK!MESS 操作失败@#OK
_END

_SUB RestartShell
Kill Explorer.exe
FIND explorer.exe,!SHEL %Windir%\Explorer.exe
_END

FDRV AllDrv=
Call @Main

通过设置注册表值修改盘符图标(仅限本地盘,软盘,光盘无效.)
以前发过的.
=============================================

很无聊,发个压缩多种格式的小工具
看完还不会在PE中备份ADSL密码的人该打

菜鸟试贴---WINCMD做的Gdisk分区工具
,硬盘里其实还有几十个脚本,不过参差不齐,==我整理后再发吧,呵.
wincmd高手快来~~~

[ 本帖最后由 junyee 于 2010-3-24 22:24 编辑 ]
回复

使用道具 举报

发表于 2014-8-18 10:34:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2020-11-24 01:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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