我在执行 bat 文件时遇到问题。运行一段时间后,出现“输入行太长”错误。
bat文件的结构很简单。有一个主 bat 文件调用其他 10 个 bat 文件,这些文件负责更新我的系统模块的数据。在更新数据 bat 文件中,有很多调用我的系统的命令(.cmd 文件),该命令负责通过一些计算来更新数据。
重点是,当该进程在 Windows 2003 Server 中运行时,一切正常。没有错误。
然后,当它升级到Windows 2008 Server 时,我执行主要的bat 文件,几个小时后我得到了“输入行太长”的错误。我什至无法在该 cmd 窗口中手动执行更新数据 bat 中包含的任何命令。但是,如果我关闭 cmd 窗口并打开一个新窗口,我可以无错误地执行命令。
有人遇到过同样的问题吗?或者解决方案?
提前致谢。
最佳答案
在 cmd 窗口中执行构建脚本时,我遇到了同样的问题。大约 13 次后,我得到了同样的错误。构建脚本必须确保 vcvarsall.bat 已运行,以便它每次都执行 vcvarsall.bat。
vcvarsall.bat 不够智能,如果它们不存在,只能将它们添加到 path
,所以添加了一堆重复的条目。
我的解决方案是在我知道由 vcvarsall.bat 设置的环境变量上添加一个 if defined 检查...
if not defined DevEnvDir (
call vcvarsall.bat
)
每次运行后检查你的路径环境变量,看看它是否在增长。如果是并且存在重复项,则您需要聪明地向 path
添加内容。有几种方法可以让它变得聪明。
关于windows - BAT 文件中的 "Input line is too long"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16821784/