call "C:Program Files (x86)Microsoft Visual Studio 8Common7Toolsvsvars32.bat" call path.bat dea usev bis cd ana call b-env-i.bat
当我执行这个batch file时,在下一步之后停止执行。
dea usev bis
任何人都可以请帮忙指出这里出了什么问题,以及如何让所有的命令执行。 请注意,前面提到的命令(dea usev bis)可以正常工作(在批处理和单独执行时)。 dea是可执行文件的名称,“usv bis”是“dea”exe文件的运行时参数。
我正在运行Windows 7。
在shell脚本中parsingwmic的输出
冒号批量variables名称
批量replace文本文件内的文本(Linux / OSX命令行)
如何用批量更改项目中的特定string
澄清:
当我运行的时候,第三次调用“dea usev bis”成功执行后,batch file停止执行。 这是以下两个调用(这是VS.bat的一部分)不会得到执行
cd ana
调用b-env-i.bat
请注意,调用“dea usev bis”需要大约20秒才能执行,无论是单独运行还是作为脚本的一部分运行。
更新:
我试过paxdiablo的build议,结果如下:
[C:dea]for %i in (dea.cmd) do @echo %~$PATH:i ECHO is on. [C:dea]for %i in (dea.bat) do @echo %~$PATH:i ECHO is on. [C:dea]for %i in (dea.exe) do @echo %~$PATH:i C:deabindea.exe [C:dea]where dea.exe C:deabindea.exe C:deabindea.exe.1 C:deabindea.exe.ia64
当我通过以下明确运行它,我仍然遇到同样的问题
c:deabindea.exe usev bis
而且,正如我刚才所说,改变脚本来call dea也不能解决问题。
还有什么我可以尝试吗?
我的CMD批处理脚本不起作用(此时0意外。)
超时或closures时,处理完成
batch file帮助:确定版本以决定操作
在特定驱动器的Windows中的磁盘大小
它看起来像你正试图调用另一批/脚本文件,如果你离开call ,将被简单地链接到而不是调用(链接到,在这种情况下,这意味着它不会返回)。 我建议改变这一行:
call dea usev bis
举个例子,考虑脚本go2.cmd :
@echo off echo %1
和go.cmd :
@echo off call go2 1 go2 2 echo 3
执行go只会给你:
1 2
因为go2 2线链,而不是调用脚本。 然而, call go2 1线,工作正常。
而且,即使您有一个dea.exe文件,这并不一定意味着它正在运行。 你的脚本调用dea所以留下了什么实际运行到shell的选择(搜索路径,尝试不同的扩展等等)。
要检查您实际调用的是否是批处理文件,可以执行以下操作。 首先执行以下表示:
echo %PATH% for %i in (dea.cmd) do @echo %~$PATH:i for %i in (dea.bat) do @echo %~$PATH:i for %i in (dea.exe) do @echo %~$PATH:i
(或者我认为你可以使用where dea*如果你运行的是Win 7+,详情请看这里 )。
这会告诉你路径中是否有dea.cmd/bat/exe ,并告诉你路径中的相关目录在哪里 。 如果有脚本版本,则可能存在于exe版本之前的路径中。 你可以简单地检查一下你的%PATH%环境变量来找出哪个目录是第一个。
其次,如果您在c:deabin有exe ,请尝试使用以下命令从脚本中明确运行:
c:deabindea.exe usev bis
第三,你可以改变脚本建议(添加call ),看看是否修复它。 如果它正在引用一个脚本,那将会修复它。
如果没有这些工作(这似乎是基于你的回应, dea绝对是一个exe文件的情况下),你需要开始准确地找出发生故障的位置。 这可以通过在每一行之间放置一个echo语句来完成,这样就可以看到是什么导致了这个问题。 换句话说,就像:
echo DEBUG a & time <nul: call "C:Program Files (x86)Microsoft Visual Studio 8Common7Toolsvsvars32.bat" echo DEBUG b & time <nul: call path.bat echo DEBUG c & time <nul: dea usev bis echo DEBUG d & time <nul: cd ana echo DEBUG e & time <nul: call b-env-i.bat echo DEBUG f & time <nul:
这会给你的工作时间,并希望明白什么是行不通的时间。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。