windows - BAT 文件中的 "Input line is too long"错误

标签 windows batch-file

我在执行 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/

相关文章:

batch-file - 在 inno setup 上完成安装后创建一个 Bat 文件

batch-file - 对带有 Not Acceptable 符号的变量使用 IF 语句(例如/或 :)

windows - 使用 xcopy 批量覆盖只读文件

windows - 无法删除 aux 文件

windows - 如何从命令行运行 Windows Phone Store Cetrification Kit?

powershell - 查找文件/文件夹的修改日期

windows - 使用 cmd 跳过一次即将到来的计划任务

c++ - 诊断神秘的 WM_PAINT 消息

java - 为 Linux 安装 JDK : the keytool command requires a mounted proc fs (/proc). Windows 子系统时出错

c++ - AttachConsole 和 QProcess::readAll()