[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 applba 于 2011-5-17 14:48 编辑

试试

start /d "D:\NetExe" "netexe.exe"

前面的CD都可以省略了

TOP

本帖最后由 applba 于 2011-5-17 16:10 编辑

7# zm900612


你确定?

你试试以下问题:
start "D:\myQQ2011\Bin\qq.exe"
start /d "D:\myQQ2011\Bin" "qq.exe"

第一句是调用失败的,我也不知道原因
第二句才能正确调用到qq.exe

不用拿notepad.exe测试,因为他在path目录里面

TOP

我来猜测一下:
这个批处理可能是从C盘运行的,你做CD的时候,没有加/d,所以导致CD失败。
你看看这样行不行:cd /d "d:\D:\NetExe"

而运用pushd也可以解决这个问题,pushd相当于 cd /d。
如果后面还要恢复到先前的目录,之间popd就行了

当然了,start  /d 更好,直接指定从哪个目录运行,还不用改变当前目录。

TOP

结合hanyeguxing和我9楼的分析:
start "D:\myQQ2011\Bin\qq.exe"出错的原因是在于引号内的字符串被当作了title参数。即start命令后面紧跟的是引号,引号内的内容将作为title参数。如果紧跟的不是引号,title参数被省略。
而没有引号的形式是可以被正确执行的, start D:\myQQ2011\Bin\qq.exe。但是如果路径里面有空格的时候,你又不得不使用引号,所以版主的用法就是用双引号顶上这个title参数。
当然了 /i /min /max /b 都不会导致其后的双引号被识别为title。

TOP

start 里面的引号使用是非常需要小心的,如果非要使用
start /d "D:\NetExe" "netexe.exe"
这种方式是最保险的

TOP

返回列表