无忧启动论坛

标题: 关于PECMD里面的IFEX命令问题! [打印本页]

作者: ge    时间: 2018-12-7 20:18
标题: 关于PECMD里面的IFEX命令问题!
原来用PECMD里面的任务管理器改的一个浏览目录下的所有文件点击表格就打开这个文件!DIR &INILIST /s /O:N 必须加 /s开始想加一个判断是文件夹就打开一个窗口里面的表格内容就是文件夹下和文件!但是没有成功! 今天才发现为什么不加 /s 不行了!因为没有 /s 就没有路径只有文件名!但是修改成
TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1
SET  ::WM_LBUTTONDOWN=0x0201
ENVI ML=C:
CALL WCS
_SUB WCS,W386H481,工具
    SET-def run=1
    DIR &INILIST /O:N %ML%\
    TABL E1,W380H472,380:,%&INILIST%,0x10040
    ENVI @E1.MSG=_%&::WM_LBUTTONDOWN%: IFEX %&INILIST%\,TEAM ENVI @E1.Sel=?&&Sel| ENVI @E1.Val=?%Sel%;&&V1| ENVI ML=%ML%\%V1%| CALL WCS! CALL OnTable
_END

_SUB OnTable
    ENVI @E1.Sel=?&&Sel
    ENVI @E1.Val=?%Sel%;&&V1
    ENVI V1=%ML%\%V1%
    EXEC %V1%
_END
后点击目录没有反应!点击文件会打开!调换过来也是只执行!后面的命令!不知道怎么回事?
作者: ge    时间: 2018-12-7 20:24
可以改成
TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1
SET  ::WM_LBUTTONDOWN=0x0201
ENVI ML=C:
CALL WCS
_SUB WCS,W386H481,工具
    SET-def run=1
    DIR &INILIST /O:N %ML%\
    TABL E1,W380H472,380:,%&INILIST%,0x10040
    ENVI @E1.MSG=_%&::WM_LBUTTONDOWN%:TEAM ENVI @E1.Sel=?&&Sel| ENVI @E1.Val=?%Sel%;&&V1| ENVI ML=%ML%\%V1%| IFEX %&INILIST%\,EXEC %ML%! CALL WCS
_END
但是效果一样!就是没有想要的结果!
作者: ge    时间: 2018-12-7 21:11

5大说什么了?我怎么看不到?
作者: 红毛樱木    时间: 2018-12-7 22:11
  1. TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1
  2. SET  ::WM_LBUTTONDOWN=0x0201
  3. ENVI ML=C:
  4. CALL WCS
  5. _SUB WCS,W386H481,工具
  6.     SET-def run=1
  7.     DIR &INILIST /O:N %ML%\
  8.     TABL E1,W380H472,380:,%&INILIST%,0x10040
  9.     ENVI @E1.MSG=_%&::WM_LBUTTONDOWN%:TEAM ENVI @E1.Sel=?&&Sel| ENVI @E1.Val=?%Sel%;&&V1| ENVI ML1=%ML%\%V1%| IFEX %&ML1%,EXEC %ML1%
  10. _END
复制代码



这样才对吧
作者: 红毛樱木    时间: 2018-12-7 22:12
我感觉还不是你逾期的效果,我再改下。
作者: 红毛樱木    时间: 2018-12-7 22:21
本帖最后由 红毛樱木 于 2018-12-7 22:22 编辑
  1. TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1
  2. SET  ::WM_LBUTTONDOWN=0x0201
  3. SET$ &NL=0d 0a
  4. ENVI ML=C:
  5. CALL WCS
  6. _SUB WCS,W386H481,工具
  7.     SET-def run=1
  8.     //DIR &INILIST /O:N %ML%\
  9.     FORX /O:N %ML%\*.*,&&AnyFile,0,
  10.     {*
  11.         FIND $%&INILIST%=,
  12.         {*
  13.             ENVI &INILIST=%&AnyFile%%&NL%
  14.         }!  
  15.         {*
  16.             ENVI &INILIST=%&INILIST%%&AnyFile%%&NL%
  17.         }
  18.     }
  19.     TABL E1,W380H472,380:,%&INILIST%,0x10040
  20.     ENVI @E1.MSG=_%&::WM_LBUTTONDOWN%:TEAM ENVI @E1.Sel=?&&Sel| ENVI @E1.Val=?%Sel%;&&V1| IFEX %&V1%,EXEC %V1%
  21. _END
复制代码


DIR是DOS的命令移植过来的,不熟,用的少,改用FORX

你这里TEAM嵌套了一个IFEX,好像后面的单个"!"叹号取反需要换成两个叹号"!!",不知道这一条我说的对不对,可能不对。
作者: ge    时间: 2018-12-8 10:09
红毛樱木 发表于 2018-12-7 22:21
DIR是DOS的命令移植过来的,不熟,用的少,改用FORX

你这里TEAM嵌套了一个IFEX,好像后面的单个"!" ...

谢谢你的回复!这个看不太明白!但是点击文件夹没有效果!可能是!后面的能被执行吧!
作者: ge    时间: 2018-12-8 10:13
红毛樱木 发表于 2018-12-7 22:11
这样才对吧

效果是一样的!
作者: 红毛樱木    时间: 2018-12-8 10:14
ge 发表于 2018-12-8 10:09
谢谢你的回复!这个看不太明白!但是点击文件夹没有效果!可能是!后面的能被执行吧!

文件夹没列出来,你开始只说要文件。

文件夹应该要用
EXEC -doc
才能打开的。
作者: ge    时间: 2018-12-8 11:21
红毛樱木 发表于 2018-12-8 10:14
文件夹没列出来,你开始只说要文件。

文件夹应该要用

我是想判断是文件夹就在新的窗口的表格(在原来窗口的表格也可)里显示文件夹下内容!!
作者: 红毛樱木    时间: 2018-12-8 12:40
ge 发表于 2018-12-8 11:21
我是想判断是文件夹就在新的窗口的表格(在原来窗口的表格也可)里显示文件夹下内容!!

文件夹后面带个\
比如:
IFEX C:\A\,MESS. 存在"C:\A"文件夹
作者: ge    时间: 2018-12-8 17:05
红毛樱木 发表于 2018-12-8 12:40
文件夹后面带个\
比如:
IFEX C:\A\,MESS. 存在"C:\A"文件夹

嗯!是的!我是在目录后面加了\判断是文件还是文件夹了!
作者: 红毛樱木    时间: 2018-12-10 13:51
  1. TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1
  2. SET  ::WM_LBUTTONDOWN=0x0201
  3. SET$ &NL=0d 0a
  4. CALL WCS "C:"
  5. _SUB WCS,W386H481,列表目录:%~1
  6.     ENVI &&INILIST=
  7.     FORX /O:N $%~1\*.*,&&AnyFile,0,
  8.     {*
  9.         FIND $%&INILIST%=,
  10.         {*
  11.             ENVI &&INILIST=%&AnyFile%%&NL%
  12.         }!  
  13.         {*
  14.             ENVI &&INILIST=%&INILIST%%&AnyFile%%&NL%
  15.         }
  16.     }
  17.     TABL E1,W380H472,380:,%&INILIST%,0x10040
  18.     ENVI @E1.MSG=_%&::WM_LBUTTONDOWN%:CALL DO
  19. _END

  20. _SUB DO
  21.     ENVI @E1.Sel=?&&Sel
  22.     ENVI @E1.Val=?%Sel%;&&V1
  23.     IFEX %&V1%\,
  24.     {
  25.         CALL WCS "%&V1%"
  26.     }!  
  27.     {
  28.         EXEC %V1%
  29.     }
  30. _END
复制代码


改了下,应该是你要的效果了吧。
作者: ge    时间: 2018-12-11 08:36
红毛樱木 发表于 2018-12-10 13:51
改了下,应该是你要的效果了吧。

是的!谢谢!昨天晚上看到的!感觉应该是可以今天试试真的可以!就是这个效果!
作者: ge    时间: 2018-12-11 08:45
红毛樱木 发表于 2018-12-10 13:51
改了下,应该是你要的效果了吧。

谢谢!我还是不明白!我那样写为什么只执行!后面的命令呢?
作者: 红毛樱木    时间: 2018-12-11 16:01
ge 发表于 2018-12-11 08:45
谢谢!我还是不明白!我那样写为什么只执行!后面的命令呢?

FORX /O:N $%~1\*.*,&&AnyFile,0,
看这里的%~1参数
作者: ge    时间: 2018-12-11 17:06
本帖最后由 ge 于 2018-12-11 17:07 编辑
红毛樱木 发表于 2018-12-11 16:01
FORX /O:N $%~1\*.*,&&AnyFile,0,
看这里的%~1参数


CALL WCS "C:"
我不熟!原来想自己什么一个科学计算器时候自己弄的太简陋了!还有一个功能加不上的!后来M大说
//MyFUN %c%   %h% &&r &&z &&a &&l
_SUB MyFUN
SET &c=%~1
SET &h=%~2
calc &&r=((%&c%/2)^2+%&h%^2)/(2*%&h%)
calc &&z=(%&c%/2)/%&r%
calc &&a=2*deg(arcsin(%&z%))
calc &&l=2*%&r%*pi*%&a%/360
ENVI-ret  %~3=%&r%
ENVI-ret  %~4=%&z%
ENVI-ret  %~5=%&a%
ENVI-ret  %~6=%&l%
_END
我不懂!不知道是5大还是M大弄的!就是这样写!
%~1就是 "C:"但是"C:"不是固定的!CALL WCS "%&V1%"这个又成了%&V1%的值了!
我说的不是这个!我说的是IFEX %&INILIST%\,EXEC %ML%! CALL WCS无论条件是否成立只执行!后面的!IFEX C:\Boot\,MESS* 你好! MESS* 世界这样写就可以?不明白了!
作者: 红毛樱木    时间: 2018-12-11 17:17
ge 发表于 2018-12-11 17:06
CALL WCS "C:"
我不熟!原来想自己什么一个科学计算器时候自己弄的太简陋了!还有一个功能加不上的! ...

你这中间叹号那么多,看的蛋疼了。
哪个是代码的叹号,哪个是你说的叹号啊?
作者: ge    时间: 2018-12-11 17:21
红毛樱木 发表于 2018-12-11 17:17
你这中间叹号那么多,看的蛋疼了。
哪个是代码的叹号,哪个是你说的叹号啊?

习惯了!不知道用什么符号!
IFEX %&INILIST%\,EXEC %ML%! CALL WCS无论条件是否成立只执行!后面的。IFEX C:\Boot\,MESS* 你好! MESS* 世界 这样写就可以?不明白了!可能是和前面的TEAM有关吧!
作者: 红毛樱木    时间: 2018-12-11 17:51
ge 发表于 2018-12-11 17:21
习惯了!不知道用什么符号!
IFEX %&INILIST%\,EXEC %ML%! CALL WCS无论条件是否成立只执行! ...

还是看不明白,你这叹号用的,让我怀疑人生
作者: ge    时间: 2018-12-11 18:24
红毛樱木 发表于 2018-12-11 17:51
还是看不明白,你这叹号用的,让我怀疑人生

下面的两个例子,在世界以前的都是命令用的!就算没有在命令里也是指的是命令里面的!
作者: 红毛樱木    时间: 2018-12-11 18:27
ge 发表于 2018-12-11 18:24
下面的两个例子,在世界以前的都是命令用的!就算没有在命令里也是指的是命令里面的!

太绕,你自己看的明白,别人看不明白。弄个能看明白的来
作者: ge    时间: 2018-12-11 18:36
红毛樱木 发表于 2018-12-11 18:27
太绕,你自己看的明白,别人看不明白。弄个能看明白的来

我的意思是在我发的帖子里的IFEX命令怎么无论判断结果是是还是否者只执行!后面的命令不知道回事?
作者: 红毛樱木    时间: 2018-12-11 19:00
ge 发表于 2018-12-11 18:36
我的意思是在我发的帖子里的IFEX命令怎么无论判断结果是是还是否者只执行!后面的命令不知道回事?

6楼说了
作者: ge    时间: 2018-12-11 19:03
红毛樱木 发表于 2018-12-11 19:00
6楼说了

哦!谢谢!我明天看看!
作者: ge    时间: 2018-12-12 06:18
红毛樱木 发表于 2018-12-11 19:00
6楼说了

PECMD现在是你做了吗?
作者: ge    时间: 2018-12-12 07:19
红毛樱木 发表于 2018-12-11 19:00
6楼说了

IFEX %&INILIST%\,EXEC %ML%! CALL WCS
我知道问题出在哪了!%&INILIST%变量是没有路径的!比如路径是C:\boot,%&INILIST%的值是boot所以结果是否。




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3