Batch file 如何使用一个操作的输出作为批处理文件中其他操作的输入?

Batch file 如何使用一个操作的输出作为批处理文件中其他操作的输入?,batch-file,Batch File,我想在批处理文件中执行两个任务。首先,我使用c#中的一个小应用程序创建了一个文件,如果文件创建成功,这个应用程序将返回一些值。然后在任务输出的基础上,我要执行机器人复制操作。我需要一些相关的帮助来保持第一个操作的输出,然后比较使用它来执行第二个操作 xyz.exe if outputofxyz=="OK" Robocopy "\\Directory1" "Directory2" 我想知道我是否可以将xyz.exe的输出保存在某个变量中?或者我应该使用以下语法: if xyz.exe=="OK

我想在批处理文件中执行两个任务。首先,我使用c#中的一个小应用程序创建了一个文件,如果文件创建成功,这个应用程序将返回一些值。然后在任务输出的基础上,我要执行机器人复制操作。我需要一些相关的帮助来保持第一个操作的输出,然后比较使用它来执行第二个操作

xyz.exe
if outputofxyz=="OK" Robocopy "\\Directory1" "Directory2" 
我想知道我是否可以将xyz.exe的输出保存在某个变量中?或者我应该使用以下语法:

if xyz.exe=="OK" Robocopy "\\Directory1" "Directory2" 

好的,您可以做的最好的事情是修改您的程序,这样就不用返回您使用的值
Console.WriteLine()
要宣布作业是否已成功完成,请执行以下操作:

Program.cs Main.bat
Program.exe>Out.txt

set/p out=请提供更多详细信息,示例代码…xyz.exe提供什么类型的输出?控制台上的一些文本或只是一个errorlevel?xyz是控制台应用程序,返回一个字符串值。好的,Mona比我快^^。她在“Main.bat”中的代码描述了如何使用exe的输出。@Stephan His。不是她。他的。我应该把我的名字改成莫纳克拉夫特(他不是她)
// Do work
if (completed)
    Console.WriteLine("OK");
else
    Console.WriteLine("Fail");
// Note don't output anything else to the Console.
// Rest Of code
Program.exe > Out.txt
set /p out=<Out.txt
del Out.txt
if "%out%" EQU "OK" (
Robocopy "\\Directory1" "Directory2" 
) Else (
Echo Task not Complete.
)
Exit
for /f "delims=" %%a in ('MyProgram') do set "output=%%~a"
robocopy [sourcefolder] [targetfolder] [files] %output%