|
本帖最后由 mdyblog 于 2013-5-13 22:37 编辑
527104427 发表于 2013-5-13 17:00 
有几个问题请教一下老大:
1.下图中第一处,怎么判断输入框中输入的是文件还是文件夹?
如果没办法 ...
1:
TIME &T1,100, CALL OnTimer1
SET &bfile=0
_END
_SUB OnTimer1
SET bfile=0
FDIR --fullfile &&F=%&NAME1%
IFEX %&F%, SET bfile=1 //文件或目录
IFEX %&F%\, SET bfile=0 //目录
FIND $""="%&NAME1", SET bfile=0
FIND $""="%&F", SET bfile=0
ENVI @&BUTSTART.Enable=%&bfile% //不是文件 【开始解压】 变灰
_END
_SUB SearchFile
ENVI &FILE1=%&NAME1%
BROW &&FILE1,%&NAME1%,请选择压缩文件
FIND $""="%&FILE1%",!ENVI @&NAME1=%&FILE1%
CALL OnTimer1 //检查
_END
2:
EDIT-| E,L25T20W410H230,\n7-Zip (A) 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18\n\n进度:,,0x44
3:
ENVI @&BUTSTOP.Enable=0
放在其后面,
或 ITEM 的状态字设定为慧
4:
文件中 该空间放在最前面, 指的是代码, 不是显示位置。
ITEM &BUTSTART,L360T315W60H25,开始解压, TEAM CALL OnStart|,- #!PECMD
- FIND $**pecmd=%~1,
- {
- MSTR &&cmd=<2->%*
- %&cmd%
- EXIT FILE
- }
- TEAM ENVI OK=0|ENVI &NAME0=|ENVI &NAMEa=
- MDIR %TEMP%
- {
- LOCK ##LK_MKTEMP
- SET &t=%TEMP%\~tmp%RANDOM%.tmp
- LOOP #%OK%=0, TEAM ENVI &NAME0=%&t%| IFEX %&NAME0%,! ENVI OK=1| SET t=%TEMP%\~tmp%RANDOM%.tmp
- }
- FNAM -ext &NAMEa=%&NAME0%
- WIN1 %*
- _SUB WIN1,W450H380,7-Zip 解压程序
- ENVI @&BUTSTOP.Enable=0
- ENVI &&NAME1=%~1
- FIND $""="%&NAME1%", ENVI &NAME1=%CurDir%\AUTO.7Z
- ITEM &BUTSTART,L360T315W60H25,开始解压, TEAM CALL OnStart|,
- LABE -right ,L25T260W60H25,压缩文件:,,
- ITEM &BUTFILE,L380T255W40H20,…,TEAM CALl SearchFile|,
- EDIT &NAME1,L86T257W280H18,%&NAME1%,,
- ENVI &&NAME2=%~2
- FIND $""="%&NAME2%", ENVI &NAME2=%CurDir%\
- LABE -right ,L25T290W60H25,解压目录:,,
- ITEM &BUTDIR,L380T285W40H20,…,TEAM CALl SearchDir|,
- EDIT &NAME2,L86T287W280H18,%&NAME2%,,
- ITEM &BUTSTOP,L25T315W60H25,强制中止,KILL *force %&NAMEa%
- ENVI @&BUTSTOP.Enable=0
- EDIT-| E,L25T20W410H230,\n7-Zip (A) 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18\n\n进度:,,0x44
- TIME &T1,100, CALL OnTimer1
- SET &bfile=0
- _END
- _SUB OnTimer1
- SET bfile=0
- FDIR --fullfile &&F=%&NAME1%
- IFEX %&F%, SET bfile=1 //文件或目录
- IFEX %&F%\, SET bfile=0 //目录
- FIND $""="%&NAME1", SET bfile=0
- FIND $""="%&F", SET bfile=0
- ENVI @&BUTSTART.Enable=%&bfile% //不是文件 【开始解压】 变灰
- _END
- _SUB OnStart
- //TEAM EXEC* --pid:&pide 7Z_exe @E=!cmd /c dir /s/b C:\TOOLS\*.* //DEBUG
- //EXIT
-
- IFEX "%&NAME1%" ,!TEAM MESS 找不到 "%&NAME1%" @错误| EXIT _SUB
- IFEX "%&NAME2%" ,!TEAM MESS 找不到 "%&NAME2%" @错误| EXIT _SUB
- ENVI @&BUTSTART.Enable=0
- ENVI @&BUTFILE.Enable=0
- ENVI @&BUTDIR.Enable=0
- ENVI @&BUTSTOP.Enable=1
- PUTF* %&NAME0%,,#1
- SITE %&NAME0%,+H
- SET &pide=0
- SET &pidc=0
- TEAM EXEC* --pid:&pide 7Z_exe @E=!"%&NAME0%" x "%&NAME1%" -y -aos -o"%&NAME2%"
- FILE --force "%&NAME0%"
- IFEX "%&NAME0%",!!EXEC --exe:"%MyName%" --pid:&pidc PECMD **pecmd WAIT *0 100 -del "%&NAME0%"
- MESS 完成解压!@提示
- KILL @
- _END
- _SUB SearchFile
- ENVI &FILE1=%&NAME1%
- BROW &&FILE1,%&NAME1%,请选择压缩文件
- FIND $""="%&FILE1%",!ENVI @&NAME1=%&FILE1%
- CALL OnTimer1 //检查
- _END
- _SUB SearchDir
- ENVI &DIR0=%&NAME2%
- BROW &&DIR0,*%&NAME2%,请选择一个目录
- FIND $""="%&DIR0%",!ENVI @&NAME2=%&DIR0%
- _END
复制代码 |
|