无忧启动论坛

标题: 求教关于pecmd的条件判断 [打印本页]

作者: wjgyz740526    时间: 2023-10-16 11:22
标题: 求教关于pecmd的条件判断
本帖最后由 wjgyz740526 于 2023-10-16 11:29 编辑

请问各位达人,pecmd的条件判断如果是或的关系,怎么写?

find 条件1成立,做某事1 或者 find条件2成立,做某事1
find 条件1不成立 ,做某事2

需求是这样的:
如果boot目录有pw.txt,pe登录密码用pw.txt文本文件中的密码;如果pw.txt的内容是000000,那么无密码登录;不管有没有这个文件,用超级密码都能登录。

源代码如下:


  1. FORX !\BOOT\pw.txt,&MyPW,1,read %&MyPW%,1,pw

  2. ifex %&MyPW%,
  3. {
  4. ENVI &&pws=123456
  5. find $%pw%=000000,TEAM SHEL %SystemRoot%\explorer.exe|EXIT BLOCK
  6. find $%pws%=123456,TEAM base %pws%,pws|SHEL %SystemRoot%\explorer.exe,%pws%,3|EXIT BLOCK
  7. find $%pw%<>000000,!! find $%pw%<>123456,TEAM base %pw%,pw|SHEL %SystemRoot%\explorer.exe,%pw%,3!TEAM base %pws%,pws|SHEL %SystemRoot%\explorer.exe,%pws%,3
  8. }!
  9. {
  10. TEAM base %pws%,pws|SHEL %SystemRoot%\explorer.exe,%pws%,3|EXIT BLOCK
  11. }


复制代码

恳请帮忙

作者: rbwrbw    时间: 2023-10-16 11:41
什么语言写得
作者: wjgyz740526    时间: 2023-10-16 12:32
rbwrbw 发表于 2023-10-16 11:41
什么语言写得

pecmd脚本
作者: rbwrbw    时间: 2023-10-16 13:38
pcm
作者: wjgyz740526    时间: 2023-10-16 13:47
rbwrbw 发表于 2023-10-16 13:38
pcm

??????
作者: CYBERLONER    时间: 2023-10-16 13:53
谢谢分享
作者: 邪恶海盗    时间: 2023-10-16 15:24
没仔细研究,不过我觉得可以写成两段代码,把条件1和条件2分别写,好像不影响执行...
作者: wjgyz740526    时间: 2023-10-16 15:40
邪恶海盗 发表于 2023-10-16 15:24
没仔细研究,不过我觉得可以写成两段代码,把条件1和条件2分别写,好像不影响执行...

或的条件判断没搜到语法,怎么写?帮助里好像是并且的关系
作者: 邪恶海盗    时间: 2023-10-16 15:49
wjgyz740526 发表于 2023-10-16 15:40
或的条件判断没搜到语法,怎么写?帮助里好像是并且的关系

我哪里说用或了???

大概思路这样:
if 条件1成立
then
执行命令1
esle
执行命令2
end

if 条件2成立
then
执行命令3
else
执行命令4
end


作者: wjgyz740526    时间: 2023-10-16 15:58
邪恶海盗 发表于 2023-10-16 15:49
我哪里说用或了???

大概思路这样:

不用或不太行吧?

shel命令给pe加密码,错误超过次数的话只能关机
作者: szwp    时间: 2023-10-16 16:21
if not 条件2 and not 条件1 do 2
else
  do 1
endif

作者: wjgyz740526    时间: 2023-10-16 16:31
szwp 发表于 2023-10-16 16:21
if not 条件2 and not 条件1 do 2
else
  do 1

用find怎么写?我看pecmd帮助里没这个语法啊
作者: nathan6498    时间: 2023-10-16 19:36
学习学习
作者: 欧卡洗衣    时间: 2023-10-16 20:48
学习了
作者: tanglf    时间: 2023-10-16 20:51
学习,谢谢楼主
作者: hua_wuxin    时间: 2023-10-16 21:14
find [ 条件1 | 条件2 ],做某事1
作者: wjgyz740526    时间: 2023-10-16 21:16
hua_wuxin 发表于 2023-10-16 21:14
find [ 条件1 | 条件2 ],做某事1

谢谢,明天试试
作者: yyz2191958    时间: 2023-10-16 22:28
进来学习
作者: szwp    时间: 2023-10-17 08:15
wjgyz740526 发表于 2023-10-16 16:31
用find怎么写?我看pecmd帮助里没这个语法啊

if  条件2  do 1
else
  if 条件1 do 1
  else
    do 2
  endif
endif

这样写会么?
作者: wjgyz740526    时间: 2023-10-17 09:37
szwp 发表于 2023-10-17 08:15
if  条件2  do 1
else
  if 条件1 do 1

这个逻辑没问题,问题在于shel命令给pe加密码错误会导致pe关机
作者: szwp    时间: 2023-10-17 10:06
wjgyz740526 发表于 2023-10-17 09:37
这个逻辑没问题,问题在于shel命令给pe加密码错误会导致pe关机

或可以转成与
作者: wjgyz740526    时间: 2023-10-17 10:19
szwp 发表于 2023-10-17 08:15
if  条件2  do 1
else
  if 条件1 do 1

试了下,按这个逻辑写出来,超级密码登录有效,但pw.txt自定义密码无效

  1. FORX !\BOOT\pw.txt,&MyPW,1,read %&MyPW%,1,pw


  2. ifex %&MyPW%,
  3. {
  4. ENVI &&pws=99999

  5. find $%pws%=99999,
  6. {
  7. TEAM SHEL %SystemRoot%\explorer.exe,##thHMUtP8ZEG7uDz9j3SflBbfnCq7=,3|exit
  8. }!
  9. {
  10. find $%pw%=000000,SHEL %SystemRoot%\explorer.exe|exit!TEAM base %pw%,pw|SHEL %SystemRoot%\explorer.exe,%pw%,3
  11. }
  12. }!
  13. {
  14. SHEL %SystemRoot%\explorer.exe,##thHMUtP8ZEG7uDz9j3SflBbfnCq7=,3
  15. }


复制代码

作者: hhjkfsdg    时间: 2023-10-17 10:33
这语言没有或语句嘛。。。
作者: wjgyz740526    时间: 2023-10-17 17:33
想来想去好像只有自建窗口,用按钮判断输入的密码,这样才能跳过shel命令的问题
作者: nowayer    时间: 2023-11-16 04:59
提示: 作者被禁止或删除 内容自动屏蔽
作者: 无犹启动    时间: 2024-2-21 13:31
学习学习




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