- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个批处理文件,它将运行几个其他文件(我们称之为过程文件),例如 .bat、.exe、.py 等...
if Not Exist JobStreamUnitTest_CreateTextPython_4-27-2015.txt (
Start /wait /b C:\Users\blee2\Documents\UnitTest\CreateTextFile.py || exit %errorlevel%
copy /y nul JobStreamUnitTest_CreateTextPython_4-27-2015.txt
)
if Not Exist JobStreamUnitTest_CreateTextBatch_4-27-2015.txt (
Start /wait /b C:\Users\blee2\Documents\UnitTest\CreateNewFile.bat || exit %errorlevel%
copy /y nul JobStreamUnitTest_CreateTextBatch_4-27-2015.txt
)
if Not Exist JobStreamUnitTest_CreateTextConsole_4-27-2015.txt (
Start /wait /b C:\Users\blee2\Documents\UnitTest\TestConsole.exe apple || exit %errorlevel%
copy /y nul JobStreamUnitTest_CreateTextConsole_4-27-2015.txt
)
if Not Exist JobStreamUnitTest_HelloWorld_4-27-2015.txt (
Start /wait /b C:\Users\blee2\Documents\UnitTest\HelloWorld.bat || exit %errorlevel%
copy /y nul JobStreamUnitTest_HelloWorld_4-27-2015.txt
)
所以基本上,批处理文件将根据与每个过程文件相关联的虚拟文件的存在来检查是否需要运行以下文件。如果我们要第二次运行批处理文件,这将阻止我们运行成功。
如果任何过程文件中都没有错误,那么代码将正常工作。
退出错误仅在文件/文件路径不正确时起作用。我面临的问题是,因为 Start/wait/b 将始终执行,无论我的过程文件之一是否有错误。因此 exit %errorlevel% 不会运行。
如果过程文件损坏,如何让批处理文件检测到错误?如果其中一个过程文件不起作用,我想退出/终止批处理文件。有什么想法吗?
附言。/wait 是必需的,因为启动应该按顺序运行。
/b 是必需的,否则程序将在运行 .bat 后停止;/b 允许我们在同一个 cmd 窗口中运行批处理文件。
感谢任何帮助,谢谢
编辑:如果我执行以下操作,代码将起作用。但我希望在我的批处理文件中有一个一致性格式,因为批处理文件是由 C# 通过解析 .xml 文件生成的。
if Not Exist JobStreamUnitTest_CreateTextPython_4-27-2015.txt (
C:\Users\blee2\Documents\UnitTest\CreateTextFile.py || exit %errorlevel%
copy /y nul JobStreamUnitTest_CreateTextPython_4-27-2015.txt
)
if Not Exist JobStreamUnitTest_CreateTextBatch_4-27-2015.txt (
Start /wait /b C:\Users\blee2\Documents\UnitTest\CreateNewFile.bat || exit %errorlevel%
copy /y nul JobStreamUnitTest_CreateTextBatch_4-27-2015.txt
)
最佳答案
我在 start/WAIT/B any_program || 中发现了一些问题退出 %errorlevel%
:
||
条件命令执行:不幸的是我无法正确记录它,但我对它的所有尝试都失败了 start
命令...恕我直言,下一个代码片段(唯一的示例)可以按预期工作:
if Not Exist JobStreamUnitTest_CreateTextBatch_4-27-2015.txt (
start /B /WAIT C:\Users\blee2\Documents\UnitTest\CreateNewFile.bat
SETLOCAL enabledelayedexpansion
if !errorlevel! NEQ 0 exit !errorlevel!
ENDLOCAL
copy /y nul JobStreamUnitTest_CreateTextBatch_4-27-2015.txt
)
start
命令 执行中的错误。 start/WAIT/B
不起作用(忽略/wait 参数):
==>start /WAIT /B wmic OS GET Caption & echo xxx
xxx
==>Caption
Microsoft Windows 8.1
There's a simple workaround (from SupeUser)作为 start/B/WAIT
工作:
==>start /B /WAIT wmic OS GET Caption & echo xxx
Caption
Microsoft Windows 8.1
xxx
关于windows - Start/wait/b 出错时不退出程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29925764/
在C++ Without Fear: A Beginner's Guide That Makes You Feel Smart一书中的第(8)章中,试图显示文本文件的部分代码如下: while(1)
我的这部分作业有效并已完成。尽管我正在努力弄清楚从哪里开始,但我想对此进行补充。我想改变每条线条运动的颜色。例如,如果我按下箭头键,该线将是红色的,或者向右该线将是蓝色的,等等。 我还尝试通过单击字母
我用 C: 编写了这个函数 int process_list(node_t *head){ char c; node_t *prev = head; /* Define pointer
我在 Visual Studio 2013 中用 C# 编写了一个简单的程序。在我的程序结束时,我指示用户: "Please Press Enter to Exit the Program." 我想在
我正在编写一个小的 .jar 应用程序,它要求用户输入一个字符串并将其写入一个 .txt 文件。我感兴趣的是程序在输入字符串不是exit时继续执行以下指令(即写入日期字符串,并将输入字符串写入文本文件
在下面的程序中,我想让代码一直运行,直到用户输入 n 来停止程序。谁能帮我做这个? #include using namespace std; int main() { int i,num,f
我有一个 Java 应用程序。我想指定我的控制台应用程序的“退出代码”。如何为 registerButton 应用退出代码? final JTextField passwordText = new J
我有一个标签,用户将在用户点击按钮后设置数字,数字将存储在数字变量中。在 appdelegate.m 我想访问已设置的号码。例如标签的输入是 9:25这是我所做的。我认为在 appdelegate.m
在表格输出到之后询问用户输入一些小部件。然后您应该计算成本并输出值。如果用户输入‘q’或‘Q’,程序应该终止 我可以使用什么代码来退出程序? 最佳答案 有多种方法可以做到这一点: Applicatio
我是C++初学者,下面的程序很简单,但我不知道为什么当输入“EXIT”时,程序终止了,虽然它应该打印出之前输入的名字! 代码如下: #include #include #include usin
我尝试使用 Unirest.get(...).asObjectAsync(...) 使用计划任务更新资源。要停止使用 Unirest 的程序,您需要调用 Unirest.shutdown(); 以退出
我已经覆盖了登录对话框的 .h 文件中的 closeEvent 函数,以便它在发出时退出程序: void closeEvent(QCloseEvent *event){exit(0)} 但是,
如何在 C# 中使用退出代码退出程序?在 Java 中它将是 System.exit(int code); 最佳答案 或者: 将您的 Main 函数声明为返回 int,并从中返回一个值,或者 调用En
我被困在一个我不知道如何解决的问题上。我正在尝试使用 RandomGenerator 来模拟抛硬币,直到 RandomGenerator 连续抛出 3 个正面,然后程序退出。 变量 flipCount
我对如何实现 System.exit(0); 有点困惑在我的程序中。我想要发生的是用户输入“exit”一词并让程序终止。我还希望程序在输入“clear”时返回“0.0”,但我认为我在处理变量时遇到问题
这是我在程序中用于选项列表的代码。 当然,如果选项数量增加(超过 9),我必须更改 while 条件,采用不同的数字。 我想避免的是使用两位数。 如何让用户按“ESC”键退出程序?或任何其他关键或不同
如果我有一个像这样的简单程序; #include #include using namespace std; int main(){ ofstream output("huh.txt");
我有一个运行多个单元测试的脚本,但是当我按下 control c 时,它只会退出特定的单元测试,而不是整个脚本。有什么办法可以做到这一点?这是我实际执行单元测试的代码。 #bitshift r
我必须创建一个向用户请求非零浮点值的函数;当用户输入0时,打印输入数字的总和。当用户连续输入两个无效输入时,该函数终止。 我有以下代码: def inValues(): counter = 0
我正在尝试完成一个简单的 GUI 自动化程序,该程序仅打开一个网页,然后每 0.2 秒单击一次页面上的特定位置,直到我告诉它停止。我希望我的代码运行并使其循环无限运行,直到我指定的键绑定(bind)打
我是一名优秀的程序员,十分优秀!