有什么方法可以从c#应用程序输出字符串值并在powershell或命令变量中捕获它?我有一个运行c#应用程序的批处理命令作业。我知道我可以使用%ERRORLEVEL%
在Environment.Exit()
中捕获一个整数。我想有一个包含c#应用程序的字符串值的变量。
提前谢谢,
答案 0 :(得分:2)
如果在c#
代码中,您在console
中输出变量:
Console.WriteLine(YourVar);
然后在批处理文件中:
@echo off
for /f "delims=" %%a in ('your_c#_file.exe') do set "$var=%%a"
echo result=%$var%
修改:
如果您有多个变量作为输出!
2种方式:
1:
@echo off
setlocal enabledelayedexpansion
set /a $Count=1
for /f "delims=" %%a in ('your_c#_file.exe') do
set "Var!$Count!=%%a"
set/a $Count+=1
)
然后你可以使用:
echo %Var1%
echo %Var2%
...
echo %Varx%
<强> 2 强>
如果您可以直接从C#
代码输出变量,那就更好了:
name=John
lastname=Doe
然后在batch
文件中,您可以直接set
,就像这样:
@echo off
for /f "delims=" %%a in ('your_c#_file.exe') do set %%a
然后只是:
echo %name%
echo %lastename%
变量将直接具有正确的名称!
答案 1 :(得分:0)
我不确定我是否完全理解这个问题,但这个stackoverflow帖子Set via C# Powershell Variable可能就是您之后的问题?