找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28955|回复: 14

[文件操作] NET Framework应用EXE文件为何不能被批处理执行?

[复制链接]
发表于 2011-5-17 10:22:30 | 显示全部楼层 |阅读模式
先说明NetExe文件是Microsoft .NET Framework是用C#写的小程序,用鼠标双击可以运行起来
以下是批处理内容
  1. cd d:\
  2. cd D:\NetExe
  3. start D:\NetExe\NetExe.exe
复制代码
执行完这个批处理,但NetExe.exe这个文件没有被运行起来,为什么?
是不是.NET Framework的Exe文件在批处理下不能被执行吗?

同样的写法
  1. cd d:\
  2. cd D:\7-zip
  3. start D:\7-zip\7-zip.exe
复制代码
就可以运行起来
发表于 2011-5-17 12:24:10 | 显示全部楼层
双击能运行并驻留吗?
 楼主| 发表于 2011-5-17 12:25:29 | 显示全部楼层
用鼠标双击可以运行起来
发表于 2011-5-17 12:29:18 | 显示全部楼层
3# taotesea


使用 start "" "d:\456\123.exe" 这样
 楼主| 发表于 2011-5-17 12:55:39 | 显示全部楼层
3# taotesea


使用 start "" "d:\456\123.exe" 这样
hanyeguxing 发表于 2011-5-17 05:29

还是不行,没有运行起来
发表于 2011-5-17 14:47:38 | 显示全部楼层
本帖最后由 applba 于 2011-5-17 14:48 编辑

试试

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

前面的CD都可以省略了
发表于 2011-5-17 14:52:11 | 显示全部楼层
6# applba

语法是:
start /b "窗口标题" "参数"
发表于 2011-5-17 15:29:01 | 显示全部楼层
樓主不妨試試:

pushd d:\netexe
start "" netexe.exe
发表于 2011-5-17 15:52:33 | 显示全部楼层
本帖最后由 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目录里面
发表于 2011-5-17 15:59:39 | 显示全部楼层
9# applba


哦,我看错了,是d开关,不是b开关...
发表于 2011-5-17 16:18:45 | 显示全部楼层
我来猜测一下:
这个批处理可能是从C盘运行的,你做CD的时候,没有加/d,所以导致CD失败。
你看看这样行不行:cd /d "d:\D:\NetExe"

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

当然了,start  /d 更好,直接指定从哪个目录运行,还不用改变当前目录。
发表于 2011-5-17 16:36:05 | 显示全部楼层
结合hanyeguxing和我9楼的分析:
start "D:\myQQ2011\Bin\qq.exe"出错的原因是在于引号内的字符串被当作了title参数。即start命令后面紧跟的是引号,引号内的内容将作为title参数。如果紧跟的不是引号,title参数被省略。
而没有引号的形式是可以被正确执行的, start D:\myQQ2011\Bin\qq.exe。但是如果路径里面有空格的时候,你又不得不使用引号,所以版主的用法就是用双引号顶上这个title参数。
当然了 /i /min /max /b 都不会导致其后的双引号被识别为title。
 楼主| 发表于 2011-5-17 16:52:44 | 显示全部楼层
谢谢大家,好象都不行,我在试试,谢谢大家
 楼主| 发表于 2011-5-17 17:00:58 | 显示全部楼层
试试

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

前面的CD都可以省略了
applba 发表于 2011-5-17 07:47


谢谢成功了,但是需要将""去调就可以了
发表于 2011-5-17 19:24:51 | 显示全部楼层
start 里面的引号使用是非常需要小心的,如果非要使用
start /d "D:\NetExe" "netexe.exe"
这种方式是最保险的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 07:31 , Processed in 0.022275 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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