无忧启动论坛

 找回密码
 注册
搜索

PECMD.exe 的FIND和IFEX用法。

查看数: 5524 | 评论数: 15 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-10-12 17:12

正文摘要:

本帖最后由 2010feifei5612 于 2020-10-13 21:26 编辑 FIND和IFEX不可以套用其它命令吗? 我是要按需创建B盘 我要达到的目的是: 如果内存达到2G及以上,【查找任何盘PETools\PETools.ini文件,匹配到就执行 ...

回复

红毛樱木 发表于 2020-10-13 00:47:32
  1. ENVI &&AnyINI=
  2. ENVI &&AnyWIM=0
  3. IFEX MEMA>=2048,
  4. {*
  5.     FORX \PETools\PETools.ini,&&AnyINI,1,EXIT FORX
  6.     FIND $%&&AnyINI%=,
  7.     {*
  8.         FORX \PETools\*.wim,&&AnyWIM,1,
  9.         IFEX $%&&AnyWIM%>0,
  10.         {*
  11.             LOAD X:\Windows\System32\PETools.ini
  12.         }
  13.     }!  
  14.     {*
  15.         LOAD %&&AnyINI%
  16.     }
  17. }
复制代码


※命令及参数为空时,变量返回找到的文件目录个数或命令执行的次数

点评

谢谢大神,测试成功了。  详情 回复 发表于 2020-10-13 09:09
2012胡言乱语 发表于 2020-10-13 18:34:17
原来是虚拟机内存不够啊
2010feifei5612 发表于 2020-10-13 09:27:35
本帖最后由 2010feifei5612 于 2020-10-13 11:05 编辑

谢谢。
2010feifei5612 发表于 2020-10-13 09:09:53
本帖最后由 2010feifei5612 于 2020-10-13 11:07 编辑
红毛樱木 发表于 2020-10-13 00:47
※命令及参数为空时,变量返回找到的文件目录个数或命令执行的次数
我试了只有2G内存时(虚拟机),运行不起来了。
把   IFEX MEMA>=2048,   改为   IFEX MEMA>=2047,   就可以。好像是这个 = 号没有起作用,但把 = 号去掉也不行。
就这样用了。还是非常感谢你。


2010feifei5612 发表于 2020-10-13 00:34:12
只是找其中一个没有问题,两个却不行了。你有更好的办法吗?

我的思路是:内存大于2G时,找到PETools\PETools.ini就加载PETools\PETools.ini,如果没有就找PETools\*.wim文件,找到就通过%WinDir%\system32\PETools.ini创建B盘并挂载,都没找到就什么都不做,在%WinDir%\system32\PETools.ini的代码:
  1. RAMD ImDisk,P25,NTFS,B:,PETools
  2. EXEC =!CMD.EXE /C "md B:\PETools"
  3. FORX !\PETools\PETools.wim,PETools,1,MOUN %PETools%,B:\PETools
  4. LOAD B:\PETools\PETools.ini
复制代码
wim文件里的ini是建立桌面图标用的

2012胡言乱语 发表于 2020-10-13 00:01:34
本帖最后由 2012胡言乱语 于 2020-10-13 00:04 编辑

那%WinDir%\system32\PETools.ini里的怎么知道这边查找的是wim在哪里?查找的变量%PETools% PETools.ini里也不知道啊 PETools.ini 你都提前放到%WinDir%\system32\里 我这里找到了 你PETools.ini也不知道挂载哪里啊
2010feifei5612 发表于 2020-10-12 23:57:35
2012胡言乱语 发表于 2020-10-12 23:52
代码没问题 没用那是你别的地方有问题再查查 我们也不知道PETools.ini里是啥  想干嘛  挂载wim?

外置工具,找PETools.ini,是直接编辑加载;找PETools.wim是创建B盘挂载。
2010feifei5612 发表于 2020-10-12 23:54:11
2012胡言乱语 发表于 2020-10-12 23:09
上面那个有问题 你用这个试试 应该有用
CALL GHHHHHH
_SUB GHHHHHH

开始我写的和你这个差不多,就是没有头和尾,第一个没有退出。

IFEX MEM > 2048,
{  
    FORX \PETools\PETools.ini,PETools,1,TEAM LOAD %PETools%
    FORX \PETools\*.wim,PETools,1,LOAD %WinDir%\system32\PETools.ini
}
2012胡言乱语 发表于 2020-10-12 23:52:15
本帖最后由 2012胡言乱语 于 2020-10-12 23:54 编辑

代码没问题 没用那是你别的地方有问题再查查 我们也不知道PETools.ini里是啥  想干嘛  挂载wim?

点评

外置工具,找PETools.ini,是直接编辑加载;找PETools.wim是创建B盘挂载。  详情 回复 发表于 2020-10-12 23:57
2012胡言乱语 发表于 2020-10-12 23:16:18
2010feifei5612 发表于 2020-10-12 22:39
不理解,执行这段代码也没有反应。PETools的变量不是重复了吗?

没重复 但这个不能达到你的要求
2012胡言乱语 发表于 2020-10-12 23:09:02
本帖最后由 2012胡言乱语 于 2020-10-12 23:18 编辑

上面那个有问题 你用这个试试 应该有用
CALL GHHHHHH
_SUB GHHHHHH
       IFEX MEM > 2048,
       {  
         FORX \PETools\PETools.ini,PETools,1,TEAM LOAD %PETools%|EXIT _SUB
         FORX \PETools\*.wim,PETools,1,LOAD %WinDir%\system32\PETools.ini
        }
_END

//顺方向查找PETools\PETools.ini 有就执行 load 并退出_SUB.
如果没查到PETools\PETools.ini,就运行FORX \PETools\*.wim,PETools,1,LOAD %WinDir%\system32\PETools.ini如果还是没查到PETools\*.wim 就啥都不执行


点评

开始我写的和你这个差不多,就是没有头和尾,第一个没有退出。 IFEX MEM > 2048, { FORX \PETools\PETools.ini,PETools,1,TEAM LOAD %PETools% FORX \PETools\*.wim,PETools,1,LOAD %WinDir%\syste  详情 回复 发表于 2020-10-12 23:54
测试了,也是没有反应。 [attachimg]466687[/attachimg]  详情 回复 发表于 2020-10-12 23:33
2010feifei5612 发表于 2020-10-12 22:39:23
2012胡言乱语 发表于 2020-10-12 19:51
IFEX MEM > 2048,
{
  ENVI &&PETools=

不理解,执行这段代码也没有反应。PETools的变量不是重复了吗?

点评

没重复 这个不能达到你的要求  详情 回复 发表于 2020-10-12 23:16
2012胡言乱语 发表于 2020-10-12 19:51:20
IFEX MEM > 2048,
{
  ENVI &&PETools=
  FORX \PETools\PETools.ini,&PETools,1,
  {   
    FIND %&PETools%=,
     {
       FORX \PETools\*.wim,MyIni,1,LOAD %WinDir%\system32\PETools.ini
     }!
     {
       LOAD %&PETools%
     }
  }
}

点评

不理解,执行这段代码也没有反应。PETools的变量不是重复了吗?  详情 回复 发表于 2020-10-12 22:39
红毛樱木 发表于 2020-10-12 19:31:40
贴上你的代码

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

闽公网安备 35020302032614号

GMT+8, 2025-2-24 07:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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