作为批处理脚本任务,我正在Azure DevOps服务器管道上运行一个批处理文件。这个批处理文件内部调用Intel并行工作室编译器2019更新3,如下所示:
if %ERRORLEVEL% NEQ 0 (
call "%ICPP_COMPILER19%bin\compilervars.bat" intel64 vs2017
)然后调用构建文件。
最近,我观察到此命令引发错误,如下所示:
##[command]C:\build_dir\test.bat
Intel(R) MPI Library 2019 Update 3 for Windows* Target Build Environment for Intel(R) 64 applications
Copyright 2007-2019 Intel Corporation.
Copyright (C) 1985-2019 Intel Corporation. All rights reserved.
Intel(R) Compiler 19.0 Update 3 (package 203)
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.0.26228.57
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
The input line is too long.
The syntax of the command is incorrect.这个错误是什么?为什么是现在?我看到了许多与此相关的问题,但我无法找到与我的查询相关的答案。
发布于 2020-10-13 06:39:47
The input line is too long.通常在展开百分比后发生,其结果是行长度大于8191个字符。
在您的示例中,它可能是在追加某项之后溢出的路径/includedir变量。
造成这些问题的原因可能是批处理文件的递归或多次调用。
然后,您应该看到同一条路径被多次追加。
另一个问题可能是您的项目路径非常长,比如C:\my insane Projects\are nested\into a structure\that is much too deep\...<2000 characters later>\myProject。
检查你的PATH变量,有时它长得很可笑,重复了很多次。
要找到您的问题,请在echo #123中添加一些compilervars.bat,以找到确切的行。
然后对问题变量进行分析。
发布于 2021-08-03 14:58:34
我的修复涉及重置path变量,因为它由于构建脚本中的错误而被重载,每次生成项目时都会运行它。
运行echo %PATH%可以帮助我了解路径变量的长度。
https://stackoverflow.com/questions/64326217
复制相似问题