无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4071|回复: 19
打印 上一主题 下一主题

[求助] 如何使用pecmd指定文件解压到指定目录

[复制链接]
跳转到指定楼层
1#
发表于 2019-12-13 11:37:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如说我在U盘根目录有一个PESOFT.7z,想要用7z解压到x盘根目录,应该如何写pecmd
2#
发表于 2019-12-13 11:56:58 | 只看该作者
_SUB MOU1TEXT 正在解压外置程序......
FORX !\mytools\10tools64.wim,MYTOOLS,1,TEAM EXEC =!CMD.EXE /C "7z.exe x "%MYTOOLS%" -y -aos -oX:\10tools64\"|LOAD X:\10tools64\10tools64.ini
WAIT 888

抄来的

点评

学习中  详情 回复 发表于 2019-12-13 15:08
回复

使用道具 举报

3#
发表于 2019-12-13 15:08:08 | 只看该作者
fjzjk 发表于 2019-12-13 11:56
_SUB MOU1TEXT 正在解压外置程序......
FORX !\mytools\10tools64.wim,MYTOOLS,1,TEAM EXEC =!CMD.EXE /C  ...

学习中
回复

使用道具 举报

4#
发表于 2019-12-13 15:43:30 | 只看该作者
FORX !\PESOFT.7z,My7z,1,EXEC =!CMD.EXE /C "d:\7-zip\7z.exe x -aos -y -oX:\ "%My7z%

将 d:\7-zip\7z.exe 换成你实际的7z.exe所在路径。
假如以上pecmd脚本保存为pesoft.ini
如果7z.exe 跟 pesoft.ini 同一分区,可以使用变量如:
FORX !\PESOFT.7z,My7z,1,EXEC =!CMD.EXE /C %CurDrv%"\7-zip\7z.exe x -aos -y -oX:\ "%My7z%

如果7z.exe 在X:\Program Files\7-zip 可以使用变量如:
FORX !\PESOFT.7z,My7z,1,EXEC =!CMD.EXE /C %Programs%"\7-zip\7z.exe x -aos -y -oX:\ "%My7z%

点评

自己修改了两下,亲测可用,感谢大佬  详情 回复 发表于 2019-12-15 11:47
奇怪,我在pecmd里执行FORX !\PESOFT.7z,My7z,1,EXEC =!CMD.EXE /C %Programs%"\7-zip\7z.exe x -aos -y -oX:\ "%My7z% 然后他就秒过了,也不执行解压。在cmd里执行pecmd加这句也不行。手动cmd调用7z却可以解压出来  详情 回复 发表于 2019-12-14 18:15
请问如果需要解压完成后加载里面的pesoft.ini,就是在语句后面加|LOAD X:\pesoft\pesoft.ini 是吗? 如果不加|,直接换行load,会不会未解压完毕他就执行了?  详情 回复 发表于 2019-12-13 16:21
回复

使用道具 举报

5#
发表于 2019-12-13 16:21:16 | 只看该作者
hilsonma 发表于 2019-12-13 15:43
FORX !\PESOFT.7z,My7z,1,EXEC =!CMD.EXE /C "d:\7-zip\7z.exe x -aos -y -oX:\ "%My7z%

将 d:\7-zip\7z ...

请问如果需要解压完成后加载里面的pesoft.ini,就是在语句后面加|LOAD X:\pesoft\pesoft.ini 是吗?
如果不加|,直接换行load,会不会未解压完毕他就执行了?

点评

FORX !\PESOFT.7z,My7z,1,EXEC =!CMD.EXE /C "d:\7-zip\7z.exe x -aos -y -oX:\ "%My7z% LOAD X:\pesoft\pesoft.ini 前句的 EXEC =!CMD.EXE 就是表示隐藏执行CMD 并等待执行完成 前导=表示等待完成 前导!表示  详情 回复 发表于 2019-12-13 17:22
回复

使用道具 举报

6#
发表于 2019-12-13 17:22:24 | 只看该作者
fjzjk 发表于 2019-12-13 16:21
请问如果需要解压完成后加载里面的pesoft.ini,就是在语句后面加|LOAD X:\pesoft\pesoft.ini 是吗?
如 ...

FORX !\PESOFT.7z,My7z,1,EXEC =!CMD.EXE /C "d:\7-zip\7z.exe x -aos -y -oX:\ "%My7z%
LOAD X:\pesoft\pesoft.ini

前句的 EXEC =!CMD.EXE 就是表示隐藏执行CMD 并等待执行完成
前导=表示等待完成
前导!表示隐藏执行

点评

了解了。没有系统学习过pecmd,这些都是一知半解。我还以为=就是和平时编程一样赋值  详情 回复 发表于 2019-12-13 17:41
回复

使用道具 举报

7#
发表于 2019-12-13 17:41:54 | 只看该作者
hilsonma 发表于 2019-12-13 17:22
FORX !\PESOFT.7z,My7z,1,EXEC =!CMD.EXE /C "d:\7-zip\7z.exe x -aos -y -oX:\ "%My7z%
LOAD X:\pesoft ...

了解了。没有系统学习过pecmd,这些都是一知半解。我还以为=就是和平时编程一样赋值

点评

EXEC =!CMD.EXE 换成这样子写应该就看得清晰一些 EXEC -wait -hide CMD.EXE  详情 回复 发表于 2019-12-13 17:54
回复

使用道具 举报

8#
发表于 2019-12-13 17:54:35 | 只看该作者
fjzjk 发表于 2019-12-13 17:41
了解了。没有系统学习过pecmd,这些都是一知半解。我还以为=就是和平时编程一样赋值

EXEC =!CMD.EXE
换成这样子写应该就看得清晰一些
EXEC -wait -hide CMD.EXE

点评

是啊,有英文单词就理解了。语法糖对于外行来说就是天书,对熟手来说就很方便了  详情 回复 发表于 2019-12-13 18:26
回复

使用道具 举报

9#
发表于 2019-12-13 18:26:15 | 只看该作者
红毛樱木 发表于 2019-12-13 17:54
EXEC =!CMD.EXE
换成这样子写应该就看得清晰一些
EXEC -wait -hide CMD.EXE

是啊,有英文单词就理解了。语法糖对于外行来说就是天书,对熟手来说就很方便了
回复

使用道具 举报

10#
发表于 2019-12-14 18:15:01 | 只看该作者
本帖最后由 fjzjk 于 2019-12-14 18:44 编辑
hilsonma 发表于 2019-12-13 15:43
FORX !\PESOFT.7z,My7z,1,EXEC =!CMD.EXE /C "d:\7-zip\7z.exe x -aos -y -oX:\ "%My7z%

将 d:\7-zip\7z ...

奇怪,我在pecmd里执行FORX !\PESOFT.7z,My7z,1,EXEC =!CMD.EXE /C %Programs%"\7-zip\7z.exe x -aos -y -oX:\ "%My7z%
然后他就秒过了,也不执行解压。在cmd里执行pecmd加这句也不行。手动cmd调用7z却可以解压出来,不知道为什么。
(本来是不想用解压的,但是用moun挂载wim的方式,无论是直接挂载到x盘,或者是从别人pe抄的创建一个vhd然后挂载进去,都不行。刚开始点进去看文件夹创建出来了,里面也有东西,过几秒这个文件夹就空空如也了,刚开始我还以为是虚拟磁盘太小了,抄来的配置才创了一个5m的。我改成150m依然不行......)懵逼

点评

我是看不下去了,你这引号跟开玩笑似的:FORX !\PESOFT.7z,My7z,1,EXEC -hide =“%ProgramFiles%\7-zip\7z.exe” x -aos -y -oX:\ %My7z%  详情 回复 发表于 2019-12-14 19:47
先试 EXEC CMD.EXE /K 如果不能进入cmd 那就是cmd.exe 的路径问题,需要指明 cmd.exe 的详细路径。 如果可以再试 exec cmd.exe /k %program%"\7-zip\7z.exe" 如果没有7z的提示信息那就是7z 的路径问题。  详情 回复 发表于 2019-12-14 19:02
回复

使用道具 举报

11#
发表于 2019-12-14 19:02:54 | 只看该作者
fjzjk 发表于 2019-12-14 18:15
奇怪,我在pecmd里执行FORX !\PESOFT.7z,My7z,1,EXEC =!CMD.EXE /C %Programs%"\7-zip\7z.exe x -aos -y  ...

先试 EXEC CMD.EXE /K
如果不能进入cmd 那就是cmd.exe 的路径问题,需要指明 cmd.exe 的详细路径。
如果可以再试 exec cmd.exe /k %program%"\7-zip\7z.exe"
如果没有7z的提示信息那就是7z 的路径问题。

点评

cmd路径是正常的。主要是后面那句,系统找不到指定路径。按楼下说的改引号位置也不行....  详情 回复 发表于 2019-12-14 20:17
感谢。我去试试。  详情 回复 发表于 2019-12-14 19:28
回复

使用道具 举报

12#
发表于 2019-12-14 19:28:05 | 只看该作者
hilsonma 发表于 2019-12-14 19:02
先试 EXEC CMD.EXE /K
如果不能进入cmd 那就是cmd.exe 的路径问题,需要指明 cmd.exe 的详细路径。
如 ...

感谢。我去试试。
回复

使用道具 举报

13#
发表于 2019-12-14 19:47:59 | 只看该作者
fjzjk 发表于 2019-12-14 18:15
奇怪,我在pecmd里执行FORX !\PESOFT.7z,My7z,1,EXEC =!CMD.EXE /C %Programs%"\7-zip\7z.exe x -aos -y  ...

我是看不下去了,你这引号跟开玩笑似的:FORX !\PESOFT.7z,My7z,1,EXEC  -hide  =“%ProgramFiles%\7-zip\7z.exe” x -aos -y -oX:\ %My7z%

点评

这句是直接抄楼上的  详情 回复 发表于 2019-12-14 20:12
回复

使用道具 举报

14#
发表于 2019-12-14 20:12:38 | 只看该作者
本帖最后由 fjzjk 于 2019-12-14 22:03 编辑
527104427 发表于 2019-12-14 19:47
我是看不下去了,你这引号跟开玩笑似的:FORX !\PESOFT.7z,My7z,1,EXEC  -hide  =“%ProgramFiles%\7-zip ...

这句是直接抄楼上的
-----------------------------

发现问题了,感谢。我按楼上的说法,以及pecmd开头的说明,%Program%这样调用他是找不到,改成%ProgramFiles%就可以了。


回复

使用道具 举报

15#
发表于 2019-12-14 20:17:07 | 只看该作者
本帖最后由 fjzjk 于 2019-12-14 20:19 编辑
hilsonma 发表于 2019-12-14 19:02
先试 EXEC CMD.EXE /K
如果不能进入cmd 那就是cmd.exe 的路径问题,需要指明 cmd.exe 的详细路径。
如 ...

cmd路径是正常的。主要是后面那句,系统找不到指定路径。发现要改成%ProgramFiles%才可以

点评

拜托,Programs 是啥?那是开始菜单好吧!  详情 回复 发表于 2019-12-14 22:41
嗯,在cmd窗口输入set 就可以看到有哪些环境变量了。  详情 回复 发表于 2019-12-14 20:59
回复

使用道具 举报

16#
发表于 2019-12-14 20:59:43 | 只看该作者
本帖最后由 hilsonma 于 2019-12-14 21:03 编辑
fjzjk 发表于 2019-12-14 20:17
cmd路径是正常的。主要是后面那句,系统找不到指定路径。发现要改成%ProgramFiles%才可以

嗯,在cmd窗口输入set 就可以看到有哪些环境变量了。Programs 是由pecmd 提供的变量,如果不可用的话就改用环境变量。

点评

现在解压问题已经搞定了。又回去琢磨挂载问题了。很奇怪就是挂载不了,用dism++和wimtool都会拒绝访问。而自带的moun,挂载后目标目录变成一个同名无后缀0大小的文件了。 不知道是不是因为我pe账户用的是s  详情 回复 发表于 2019-12-14 21:02
回复

使用道具 举报

17#
发表于 2019-12-14 21:02:52 | 只看该作者
本帖最后由 fjzjk 于 2019-12-14 21:53 编辑
hilsonma 发表于 2019-12-14 20:59
嗯,在cmd窗口输入set 就可以看到有哪些环境变量了。

现在解压问题已经搞定了。
回复

使用道具 举报

18#
发表于 2019-12-14 22:41:08 | 只看该作者
fjzjk 发表于 2019-12-14 20:17
cmd路径是正常的。主要是后面那句,系统找不到指定路径。发现要改成%ProgramFiles%才可以

拜托,Programs 是啥?那是开始菜单好吧!

点评

这个确实是我搞错了。pecmd刚开始那段,我把这两个以为是指一个东西了。没去后面翻内置变量 LOAD命令如果用的是实际路径,路径里含空格的话,""引号-定不能省略,因为LOAD可带参数。如 LOAD "X:\Program Fi  详情 回复 发表于 2019-12-15 00:22
回复

使用道具 举报

19#
发表于 2019-12-15 00:22:32 | 只看该作者
527104427 发表于 2019-12-14 22:41
拜托,Programs 是啥?那是开始菜单好吧!

这个确实是我搞错了。pecmd刚开始那段,我把这两个以为是指一个东西了。没去后面翻内置变量
LOAD命令如果用的是实际路径,路径里含空格的话,""引号-定不能省略,因为LOAD可带参数。如
LOAD "X:\Program Files\a.ini" ;而如果是变引用且表面上看起来是连续的,可不加引号,如:
LOAD %Program%\a.ini 。
回复

使用道具 举报

20#
 楼主| 发表于 2019-12-15 11:47:52 | 只看该作者
hilsonma 发表于 2019-12-13 15:43
FORX !\PESOFT.7z,My7z,1,EXEC =!CMD.EXE /C "d:\7-zip\7z.exe x -aos -y -oX:\ "%My7z%

将 d:\7-zip\7z ...

自己修改了两下,亲测可用,感谢大佬
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-22 18:18

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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