问题标签 [errorlevel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
189 浏览

batch-file - Batch ErrorLevel:在 For 循环中,调用另一个批处理,调用 SQL

我已经对此进行了彻底的搜索,但我无法找到所有的部分;

我有:

我无法完成最后一步,其中 BatchA 响应批处理 B 的退出错误。

我已经简化了它,我什至无法让以下工作。不工作,我的意思是 GOTO 语句不执行。我讨厌批量循环!!!!

批次A

B批次

0 投票
2 回答
2644 浏览

batch-file - 批处理:如果存在语句导致错误级别为 1,尽管它成功了

在我的批处理文件(一个普通的 *.bat 文件)中,我想检查一个文件是否存在。如果存在,则应将其复制,如果不存在,则应将输出写入外壳。在 if 语句之后,我想检查(可能的)复制命令是否成功执行。我正在通过错误级别检查来做到这一点。

但是,尽管 if 语句似乎有效,但该语句后的错误级别始终为 1。我知道 if 语句有效,因为当文件不存在时,相应的消息将写入 shell。

这是代码:

为什么 if 语句后的 errorlevel 始终为 1,虽然正确的输出是 File xxx 不存在并且 if 语句似乎运行成功?

已解决:我的错误。IF 语句之前的另一个语句将错误级别设置为 1。我还在上面发布的代码中放错了第一个 erroelevel 检查 - 对此感到抱歉。第一次检查和 IF 语句之间有一些代码导致错误级别设置为 0。我现在将更正它。感谢所有答案!

0 投票
1 回答
159 浏览

batch-file - 验证批处理文件上的文件错误

因此,假设我在批处理文件中有以下代码:

我想使用 Errorlevel 来验证每个文件的状态,因为它们发生了一个动作,比如说 Build6.log 不存在或者它正在被另一个程序或函数使用。我最好怎么做?

还是我应该刮掉整个东西并使用Powershell?

0 投票
2 回答
410 浏览

perl - 批处理文件调用错误级别两次

我在批处理文件错误级别返回问题上苦苦挣扎,找不到答案。
任何人都可以给我任何提示吗?

我有一个外部二进制文件 external.exe,它读取批处理文件的返回码(0-成功,其他-失败)来决定要做什么。

在批处理文件 mybatch.cmd 中,我想运行一个脚本 (perl) 并将结果返回到批处理文件。

例如,mybatch.cmd

虽然myperl.pl是:

所以我希望 myperl.pl 将值 0 返回到批处理文件,然后批处理文件将 0 返回到 external.exe 文件。

但是 external.exe 没有按预期工作。

1)如果我从 CLI 运行 mybatch.cmd,然后从 CLI 运行“echo %errorlevel%”,我可以看到它是 0。

2)如果我添加一行来显示来自 myperl.pl 的返回码,我可以看到来自 myperl.pl 的返回码正好是 0。

例如:

它将显示 0,因此 perl 脚本会准确地返回该值。

3)如果我添加一行手动将返回码设置为 0,external.exe 工作正常。

这真的很奇怪。有任何想法吗?我无法控制 external.exe,因此无法对其进行调试。

在这个例子中,%errorlevel% 被调用了两次:
1)从 myperl.pl 返回到批处理。
2)从 mybatch.cmd 返回到 external.exe。这会是个问题吗?

0 投票
1 回答
152 浏览

windows - 如何在批处理文件中查找“* .err”文件类型是否存在

如何在批处理文件中找到 *.err 文件类型存在或不存在。我正在使用以下代码来查找文件类型的存在。

我认为这段代码不准确。你能纠正这个以找到文件类型的存在吗?

0 投票
1 回答
2647 浏览

batch-file - Forfiles 循环/错误级别问题

我正在尝试使用 forfiles 检查文件夹中是否有更新的 .xlsx 文件(不到 1 天),然后根据是否有更新的文件运行另一个 bat 文件。

最初我有一个脚本可以做到这一点,但有些日子有多个新的 .xlsx 文件,所以脚本“循环”并且会多次运行 success.bat 文件。

如果没有找到更新的文件,cmd 将退出并出现错误,所以我利用它来运行 fail.bat 文件。

这就是我目前所拥有的:

现在,当有更新的文件时,这可以正常工作。即它摆脱了循环问题。

但是如果没有找到更新的文件并使用,我现在遇到 cmd 退出的问题

似乎不再适合我了......我只是不喜欢这个带有 .bat 文件的 if/else 东西

0 投票
1 回答
532 浏览

batch-file - ERRORLEVEL 未正确报告

我正在运行以下 windows .bat 脚本,但遇到了麻烦。

该命令运行但 ERRORLEVEL 似乎不起作用,只报告 0,没有别的。请问有什么建议吗?

0 投票
2 回答
3675 浏览

batch-file - WinSCP脚本的退出代码检查

我需要使用 WinSCP 作为批处理脚本中的函数将文件安全地传输到服务器。

我需要 WinSCP 来使用.ppk文件,我已经在机器上进行身份验证而不是密码。

连接后,我需要通过 WinSCP 将文件上传到服务器。

如果在运行 WinSCP 时出现任何问题/错误,我需要将其退出代码发送回脚本。这个想法是;如果传输有任何问题以显示退出代码。我将写一个if语句,如果退出代码不是零,则退出程序。

任何有关如何将 WinSCP 实施到带有退出代码检查的脚本的帮助将不胜感激。

0 投票
3 回答
190 浏览

batch-file - 当文件夹为空时,for 循环不会抛出 1 的错误级别

我在批处理脚本中有以下行

当我在一个空文件夹上运行它时,错误级别仍然是 0。

但是,如果我将 *.rmt 替换为文件夹中也不存在的文件名 x.rmt,则错误级别变为 1。

理想情况下,如果文件夹中没有 RMT 文件,errorlevel 不应该!=0?

我需要这个 For 循环在 *.rmt 上工作,因为一个文件夹中可能有 0 到多个 RMT 文件。请帮忙。

谢谢。

注意:如果字符串“model='”存在于一个 RMT 文件中,它将强制存在于该文件夹中的所有其他 RMT 文件(如果有)中。

0 投票
1 回答
370 浏览

bash - 在通过管道传输到 while 后,如何返回错误级别($?)?

在 bash 中,我正在尝试制作一个脚本:

&

将返回 0


假设第一个脚本以某种方式搞砸了:

&

仍会返回 0

如何返回该错误?