首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“退出状态127的远程命令失败”

“退出状态127的远程命令失败”
EN

Stack Overflow用户
提问于 2016-09-03 21:22:27
回答 1查看 2.5K关注 0票数 1

我有一个批处理文件如下:

代码语言:javascript
复制
@echo off

REM <--Fetching installed service pack version and storing it in var-->
FOR /f "tokens=* " %%a in ('findstr /I "install.servicepack" ^< "C:\A\B\C\D.properties" ') DO SET temp=%%a
SET var=%temp:~22%
REM <-- I tested, correct value is getting assigned to var say 1.2.3-->

REM <--Next, I am changing the directory using CD, in which X, Y and Z is a fixed directory path and after that it is variable based upon %var% value

cd c:\X\Y\Z\%var%
echo %cd%
REM <-- I tested and directory is correctly set against cd c:\X\Y\Z\1.2.3

REM <--With in c:\X\Y\Z\%var% (c:\X\Y\Z\1.2.3), there is an exe called uninstaller.exe and I am executing it is below:
dir
ECHO MESSAGE: Starting Silent Uninstallation of ABC Package
uninstaller.exe -options -silent
ECHO MESSAGE: Finished Silent Uninstallation of ABC Package

设置:我已经在windows上安装了Jenkins,并且通过ANT中的sshexec任务,我正在使用cygwin在远程windows机器中调用上面的批处理文件。

Jenkins :当使用上述设置从Jenkins作业调用上述脚本时,它将返回“Remote命令失败,退出状态为127”。但是,如果我硬编码cd中%var%的值为cd c:\X\Y\Z\a.b.c,而不是以cd c:\X\Y\Z\%var%传递,则脚本执行得很好,也就是说,直接用正确的路径更改目录(cd C:\X.Y.Z.\1.2.3)。

在更改目录后,我尝试了几种调用uninstaller.exe的方法,但没有成功。

请帮帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-03 21:25:09

不要更改TEMP变量的值:这是一个保存临时目录env的特殊系统变量。变量。

请选择另一个变量名。

代码语言:javascript
复制
FOR /f "tokens=* " %%a in ('findstr /I "install.servicepack" ^< "C:\A\B\C\D.properties" ') DO SET t=%%a
SET var=%t:~22%

如果您更改了临时目录,依赖它的程序可能会崩溃(而且有很多)。

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

https://stackoverflow.com/questions/39311467

复制
相关文章

相似问题

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