批处理文件从exe获取返回值

rap*_*a31 3 windows return batch-file return-value

我写了一个简单的c程序DOW.exe,返回值是星期几.我需要这个用于我的批处理文件,所以我怎么能这样做,我怎样才能获得返回值?

DOW.exe:涂

我的批处理文件(不起作用):

set day = DOW.exe

echo = %day%
Run Code Online (Sandbox Code Playgroud)

Tao*_*que 7

使用%ERRORLEVEL%. 喜欢echo %ERRORLEVEL


MC *_* ND 5

如果看起来,dow.exe文件回显到控制台(程序中的stdout)作为文本的星期几,那么:

从命令行

for /f %a in ('dow.exe') do set "dow=%a"
Run Code Online (Sandbox Code Playgroud)

要在批处理文件中使用,需要转义百分号

for /f %%a in ('dow.exe') do set "dow=%%a"
Run Code Online (Sandbox Code Playgroud)

它的作用是执行指示的命令,检索其输出,并为其中的每一行执行该do子句之后的代码,检索的行存储在for可替换参数内(%%a在本例中)