【问题标题】:batch file is giving unexpected error批处理文件出现意外错误
【发布时间】:2014-07-16 09:50:24
【问题描述】:

在连续执行 bat 文件 5 到 6 次后,我收到了休闲错误 - “输入行太长,命令语法不正确”

@call "c:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x86_amd64;

@call "c:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\vcvars32.bat" x86_amd64;

@set INCLUDE=%INCLUDE%;"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include";

@set BIT64=-DSOLARIS_64bit

@set DDK5_ROOT=c:\WinDDK\7600.16385.1

@set DDK_ROOT=c:\WinDDK\7600.16385.1

@set DDKDRIVE=C:

@set VERSION=/DBUILD_MAJOR_VERSION="4" /DBUILD_MINOR_VERSION="2" /DBUILD_REVISION="1.3"

@set ENCRYPT=__SSL_SUPPORT__

@set RES_BUILD_DEBUG=1

@set Platform=platform-win32.4.00

【问题讨论】:

  • 不是专家,但是在命令提示符中设置的变量会一直保留到提示符关闭,如果您连续运行,不会将INCLUDE 设置为;"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include";;"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include";;"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include";;"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include";;"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include";;"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include";;"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include";;"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include";;
  • 有什么办法可以避免这种情况
  • 最简单的方法是使用批处理文件来设置重复变量之外的变量

标签: windows batch-file scripting cmd


【解决方案1】:

不知道或指示 vcvarsall.batvcvars32.bat 做什么。

@set INCLUDE=%INCLUDE%;"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include";

如果您在循环中执行此过程,每次都会扩展include。这可能是个问题,但它应该需要超过5 or 6 次。

@echo off 开头的过程意味着您可以删除每行开头的@

您可以通过在关键点(例如,在设置include 之前和之后)插入pause 语句来找到错误发生的位置,并且您可以观察到将通过使用执行的精确命令(例如, 在包含行上)

@echo on
set INCLUDE=%INCLUDE%;"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include";
@echo off
pause

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-10
    • 2015-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-12
    • 2021-02-26
    • 1970-01-01
    相关资源
    最近更新 更多