无忧启动论坛

标题: 求一个批处理 [打印本页]

作者: 有阴也有阳    时间: 2019-7-1 11:18
标题: 求一个批处理
本帖最后由 有阴也有阳 于 2019-7-1 11:36 编辑

       求一个“从A盘——Z盘搜索X文件夹里面的Y.bat并运行Y.bat”的批处理命令——在PE中运行的,谢谢!!!

      不知这样写对吗:

for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
    if exist "%%i:\X" (
        echo "%%i:\X"
        pecmd "%%i:\X\Y.bat"
    )
)





作者: hilsonma    时间: 2019-7-1 11:47
for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (if exist %%i:\X\Y.bat call %%i:\X\Y.bat)
作者: dos时代菜鸟    时间: 2019-7-1 12:02
如果有 pecmd 为啥不用 pecmd 的 forx 完成?

作者: foxfirefox    时间: 2019-7-1 12:18
for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
    if exist "%%i:\X\Y.bat" (
        pecmd  exec "%%i:\X\Y.bat"
    )
)
作者: 有阴也有阳    时间: 2019-7-1 14:31
hilsonma 发表于 2019-7-1 11:47
for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (if exist %%i:\X\Y.bat call %%i: ...

谢谢!!!
作者: 有阴也有阳    时间: 2019-7-1 14:31
foxfirefox 发表于 2019-7-1 12:18
for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
    if exist "%%i:\X\Y.bat" ( ...

谢谢!!!
作者: 2010eflying    时间: 2019-7-2 10:06
本帖最后由 2010eflying 于 2019-7-2 20:48 编辑

FORX  \Y.bat,mybat,0,EXEC %mybat%
作者: 有阴也有阳    时间: 2019-7-2 10:17
2010eflying 发表于 2019-7-2 10:06
IFOX \Y.bat, mybat,0,exec %mybat%

谢谢!!!
作者: 魅力舞兵    时间: 2019-7-2 16:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: 有阴也有阳    时间: 2019-7-2 16:54
魅力舞兵 发表于 2019-7-2 16:40
边学边用,边用边学风水   起名   算命  算卦   风水大师   起名大师  算命大师   公司起名  宝宝起名   鱼 ...

我是业余爱好,只能这样
作者: 有阴也有阳    时间: 2019-7-2 22:17
dos时代菜鸟 发表于 2019-7-1 12:02
如果有 pecmd 为啥不用 pecmd 的 forx 完成?

麻烦您写一个用FORX命令运行的菜单,谢谢!
作者: dos时代菜鸟    时间: 2019-7-3 10:03
本帖最后由 dos时代菜鸟 于 2019-7-3 10:09 编辑

有阴也有阳 发表于 2019-7-2 22:17
麻烦您写一个用FORX命令运行的菜单,谢谢!

是不管有无重复,都 运行,还是只运行 第一个找到的 \x\y.cmd ?

只需要一句话就可以。

  1. FORX \x\y.cmd,cmd1,0,exec %cmd1%
复制代码

还可以设置 是否隐藏运行,是否 逐个等待运行。不知道你的具体要求。


作者: 有阴也有阳    时间: 2019-7-3 10:10
dos时代菜鸟 发表于 2019-7-3 10:03
是不管有无重复,都 运行,还是只运行 第一个找到的 \x\y.cmd ?

只需要一句话就可以。

不管有无重复都运行,谢谢!!!
作者: dos时代菜鸟    时间: 2019-7-3 10:17
本帖最后由 dos时代菜鸟 于 2019-7-3 10:30 编辑
  1. FORX \x\y.cmd,cmd1,0,exec =!%cmd1%
复制代码
就用这个 一句话,就行了。这是隐藏等待一个一个的运行。
pecmd 的 forx 指令帮助信息如下:
  1. ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
  2. ┃    │命令│'FORX'                                                                                      ┃
  3. ┃    ├──┼──────────────────────────────────────────────┨
  4. ┃    │格式│FORX [*ab] [*cur] [/S[:子目录级数]] [/O:N] [/O:-N] [/size:最小:最大] [@|$][[!]\]文件,变量,  ┃
  5. ┃    │    │     [次数],命令及参数                                                                      ┃
  6. ┃    │    │FORX * 变量表,<变量>,<命令> [参数表]                                                        ┃
  7. ┃    │    │FORX *NL 多行PE变量名,<变量>,<命令> [参数表]                                              ┃
  8. ┃    ├──┼──────────────────────────────────────────────┨
  9. ┃    │功能│对匹配的文件目录进行对应的命令操作,本命令的功能类似CMD.EXE的for命令。                      ┃
  10. ┃    ├──┼──────────────────────────────────────────────┨
  11. ┃    │参数│   *ab 排除AB移动盘;/S 搜寻子目录;/O:N 按名字排序;/O:-N 反序。*cur:当前盘符优先         ┃
  12. ┃    │    │   *qu[~]支持"定界                                                                          ┃
  13. ┃    │    │■文件: 指定文件目录名,可带有通配符。                                                      ┃
  14. ┃    │    │■变量: 指定变量名,指代找到文件,该变量不要重名。参数表中可以多处引用。                    ┃
  15. ┃    │    │■次数: 对匹配的文件目录执行相应次数的命令操作,<=0表示对所有存在的文件执行命令操作。       ┃
  16. ┃    │    │■命令: WinCMD.EXE合法有效的命令,命令后的参数格式和个数由该命令而定。                      ┃
  17. ┃    │    │■多行PE变量名: 存储多行信息的变量名,注意只是名字则没有%.每次返回一行。只能是PE变量名。  ┃
  18. ┃    ├──┼──────────────────────────────────────────────┨
  19. ┃FORX│示例│◆FORX %CurDir%\Path1\*.DLL,AnyDLL,0,CALL $%AnyDLL%                                         ┃
  20. ┃    │    │◆FORX \auto*.INF,AutoRunVirus,0,FILE %AutoRunVirus%                                        ┃
  21. ┃    │    │◆FORX !\Tools\Tools.INI,MyIni,1,LOAD %MyIni%                                               ┃
  22. ┃    │    │◆FORX /S /O:-N C:\windows\*.INI,f,0,MESS %f% @#OK                                          ┃
  23. ┃    ├──┼──────────────────────────────────────────────┨
  24. ┃    │备注│※该命令可以搜索到带有属性的文件目录,如隐藏属性的文件目录。                                ┃
  25. ┃    │    │※前导""表示搜索所有分区。"!"表示对所有分区进行逆序搜索。                                  ┃
  26. ┃    │    │※前导"@"表示仅搜索目录,"$"搜索目录和文件,省略该前导表示仅搜索文件。                      ┃
  27. ┃    │    │※前导"*"表示变量表模式,以空字符分隔。                                                     ┃
  28. ┃    │    │※示例1,表示注册 %CurDir%\Path1\ 目录中的所有 DLL。                                        ┃
  29. ┃    │    │※示例2,表示删除所有分区根目录的 auto*.INF 文件。                                          ┃
  30. ┃    │    │※示例3,表示逆序搜索所有分区Tools目录下Tools.INI,并把搜索的第1个Tools.INI用LOAD命令加载。 ┃
  31. ┃    │    │※命令及参数为空时,变量返回找到的文件目录个数或命令执行的次数;为*返回文件列表。           ┃
  32. ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
复制代码


作者: 有阴也有阳    时间: 2019-7-3 10:38
dos时代菜鸟 发表于 2019-7-3 10:17
就用这个 一句话,就行了。这是隐藏等待一个一个的运行。
pecmd 的 forx 指令帮助信息如下:

太感谢您了!谢谢!!!
作者: 有阴也有阳    时间: 2019-7-3 17:12
2010eflying 发表于 2019-7-2 10:06
FORX  \Y.bat,mybat,0,EXEC %mybat%

谢谢!!!经实际测试,此条命令无法在PE中运行。
作者: 2010eflying    时间: 2019-7-3 17:46
换成FORX  \Y.bat,mybat,1,EXEC %mybat%试试
作者: dos时代菜鸟    时间: 2019-7-5 18:48
有阴也有阳 发表于 2019-7-3 17:12
谢谢!!!经实际测试,此条命令无法在PE中运行。

两种方式,
一个是 把指令写入 ini 文件,用 “pecmd load ini文件” 调用这个文件
还有一种就是 直接用 pecmd forx 。。。。直接运行 pecmd 中的指令。




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