这个问题网上一直没有确切的答案,或者答非所问。大家应该遇到问题是这样的:
调用 WinExec(xxx,ssss,yyy) 或者ShellExecuteEx(...) 打开bat 会出现 不是内部或者外部命令,可执行程序。。。
但双击该.bat时候会正常运行
其实这种情况目前为止我发现两种原因导致的:
第一,打开cmd 时候没有重定位到该目录,所以在.bat 文档开头加上cd %~dp0 (大家可以百度一下%~dp0的用法 应该知道怎么做)
第二种情况:
当大家使用.bat 运行一些指令时候 ,指令的相关执行文件默认都放在system32里面, 需要将相关的.exe(比如网友们提到的 lpr.exe ;ntsd.exe) 或者相关文件放在.bat 那个目录(不行的话就放在VC 那个程序exe目录试试) 就可以解决。
VC/C#调用.Bat文件报 不是内部或者外部命令,但是直接双击.Bat文件没有问题
最新推荐文章于 2024-01-15 17:19:28 发布