首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Azure DevOps服务器上使用“输入行太长”的批处理命令DevOps错误

在Azure DevOps服务器上使用“输入行太长”的批处理命令DevOps错误
EN

Stack Overflow用户
提问于 2020-10-12 22:40:26
回答 2查看 760关注 0票数 1

作为批处理脚本任务,我正在Azure DevOps服务器管道上运行一个批处理文件。这个批处理文件内部调用Intel并行工作室编译器2019更新3,如下所示:

代码语言:javascript
复制
if %ERRORLEVEL% NEQ 0 (
    call "%ICPP_COMPILER19%bin\compilervars.bat" intel64 vs2017
)

然后调用构建文件。

最近,我观察到此命令引发错误,如下所示:

代码语言:javascript
复制
##[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.

这个错误是什么?为什么是现在?我看到了许多与此相关的问题,但我无法找到与我的查询相关的答案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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,以找到确切的行。

然后对问题变量进行分析。

票数 3
EN

Stack Overflow用户

发布于 2021-08-03 14:58:34

我的修复涉及重置path变量,因为它由于构建脚本中的错误而被重载,每次生成项目时都会运行它。

运行echo %PATH%可以帮助我了解路径变量的长度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64326217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档