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

[求助] 求一个bat批处理调用cmd的问题

[复制链接]
发表于 2020-12-20 09:32:09 | 显示全部楼层 |阅读模式
.\7-Zip\7z.exe x Office2007.7z -y -aos -o"%ProgramFiles%"
.\Office2007\setup.cmd
del /f Office2007.7z
del /f OFFICE.ico
执行完上面2行后下面的2行不执行了,请问要怎么改?
发表于 2020-12-20 09:39:07 来自手机 | 显示全部楼层
后两行写到setup.cmd里面去,不是非常简单?
回复

使用道具 举报

 楼主| 发表于 2020-12-20 09:46:04 | 显示全部楼层
.\7-Zip\7z.exe x Office2007.7z -y -aos -o"%ProgramFiles%"
call .\Office2007\setup.cmd
del /f Office2007.7z
del /f OFFICE.ico
这样还是不行,后面两行不执行,因为不想改setup.cmd。
回复

使用道具 举报

发表于 2020-12-20 09:48:15 | 显示全部楼层
批处理的执行方式有点奇怪.

在批处理中直接运行其它的批处理,不会返回.
而运行可执行文件则会返回.

如 slore 说,加个 call 就可以了.
或者用 start.
用 start 的好处是可以指定工作目录.



回复

使用道具 举报

 楼主| 发表于 2020-12-20 09:55:43 | 显示全部楼层
没办法,那后面的只能写到setup.cmd里面去了
回复

使用道具 举报

发表于 2020-12-20 10:01:34 来自手机 | 显示全部楼层
本帖最后由 窄口牛 于 2020-12-20 10:02 编辑

第二句改成start的。
回复

使用道具 举报

发表于 2020-12-20 12:26:31 | 显示全部楼层
方法有二:
一:把后面两行写到 Setup.cmd
二:把 Setup.cmd 里面的 exit 命令加上参数 /b ,像这样:( exit /b )
    然后调用时用 call 命令调用(即在你第二行命令前加上 call)
回复

使用道具 举报

 楼主| 发表于 2020-12-20 12:35:31 | 显示全部楼层
感谢!用start可以了
回复

使用道具 举报

发表于 2020-12-21 15:54:53 | 显示全部楼层
set cd_x=%cd%
.\7-Zip\7z.exe x Office2007.7z -y -aos -o"%ProgramFiles%"
call "%ProgramFiles%"\Office2007\setup.cmd
del /f  "cd_x"\Office2007.7z
del /f  "cd_x"\OFFICE.ico

十分怀疑 setup.cmd 中有命令改变了当前工作目录。
回复

使用道具 举报

发表于 2020-12-21 16:48:22 | 显示全部楼层
call 是会改变工作目录。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-20 05:00

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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