标题: [文件操作] NET Framework应用EXE文件为何不能被批处理执行? [打印本页]
作者: taotesea 时间: 2011-5-17 10:22 标题: NET Framework应用EXE文件为何不能被批处理执行?
先说明NetExe文件是Microsoft .NET Framework是用C#写的小程序,用鼠标双击可以运行起来
以下是批处理内容- cd d:\
- cd D:\NetExe
- start D:\NetExe\NetExe.exe
复制代码
执行完这个批处理,但NetExe.exe这个文件没有被运行起来,为什么?
是不是.NET Framework的Exe文件在批处理下不能被执行吗?
同样的写法- cd d:\
- cd D:\7-zip
- start D:\7-zip\7-zip.exe
复制代码
就可以运行起来
作者: hanyeguxing 时间: 2011-5-17 12:24
双击能运行并驻留吗?
作者: taotesea 时间: 2011-5-17 12:25
用鼠标双击可以运行起来
作者: hanyeguxing 时间: 2011-5-17 12:29
3# taotesea
使用 start "" "d:\456\123.exe" 这样
作者: taotesea 时间: 2011-5-17 12:55
3# taotesea
使用 start "" "d:\456\123.exe" 这样
hanyeguxing 发表于 2011-5-17 05:29
还是不行,没有运行起来
作者: applba 时间: 2011-5-17 14:47
本帖最后由 applba 于 2011-5-17 14:48 编辑
试试
start /d "D:\NetExe" "netexe.exe"
前面的CD都可以省略了
作者: CrLf 时间: 2011-5-17 14:52
6# applba
语法是:
start /b "窗口标题" "参数"
作者: dennisle 时间: 2011-5-17 15:29
樓主不妨試試:
pushd d:\netexe
start "" netexe.exe
作者: applba 时间: 2011-5-17 15:52
本帖最后由 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目录里面
作者: CrLf 时间: 2011-5-17 15:59
9# applba
哦,我看错了,是d开关,不是b开关...
作者: applba 时间: 2011-5-17 16:18
我来猜测一下:
这个批处理可能是从C盘运行的,你做CD的时候,没有加/d,所以导致CD失败。
你看看这样行不行:cd /d "d:\D:\NetExe"
而运用pushd也可以解决这个问题,pushd相当于 cd /d。
如果后面还要恢复到先前的目录,之间popd就行了
当然了,start /d 更好,直接指定从哪个目录运行,还不用改变当前目录。
作者: applba 时间: 2011-5-17 16:36
结合hanyeguxing和我9楼的分析:
start "D:\myQQ2011\Bin\qq.exe"出错的原因是在于引号内的字符串被当作了title参数。即start命令后面紧跟的是引号,引号内的内容将作为title参数。如果紧跟的不是引号,title参数被省略。
而没有引号的形式是可以被正确执行的, start D:\myQQ2011\Bin\qq.exe。但是如果路径里面有空格的时候,你又不得不使用引号,所以版主的用法就是用双引号顶上这个title参数。
当然了 /i /min /max /b 都不会导致其后的双引号被识别为title。
作者: taotesea 时间: 2011-5-17 16:52
谢谢大家,好象都不行,我在试试,谢谢大家
作者: taotesea 时间: 2011-5-17 17:00
试试
start /d "D:\NetExe" "netexe.exe"
前面的CD都可以省略了
applba 发表于 2011-5-17 07:47
谢谢成功了,但是需要将""去调就可以了
作者: applba 时间: 2011-5-17 19:24
start 里面的引号使用是非常需要小心的,如果非要使用
start /d "D:\NetExe" "netexe.exe"
这种方式是最保险的
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |