Batch file 如何在批处理文件中运行C代码?
我有一个C代码来显示计算机的审计报告。 但我需要将它集成到批处理文件中。Batch file 如何在批处理文件中运行C代码?,batch-file,c#-3.0,Batch File,C# 3.0,我有一个C代码来显示计算机的审计报告。 但我需要将它集成到批处理文件中。 请帮助编写C程序并将其编译为exe程序。在批处理文件中,只需调用它。如果需要程序中的某些值,请使用return语句返回整数 注意:所有代码都是未经测试的伪代码,仅供示例使用。语法错误比比皆是 如果需要向C程序传递参数,只需在调用程序时传递即可 有关错误级别编码,请参见此处: 有关变量编码,请参见此处: 有关命令行参数,请参见此处: 将此另存为.bat并测试它 //>nul 2>nul||@goto :batch
请帮助编写C程序并将其编译为exe程序。在批处理文件中,只需调用它。如果需要程序中的某些值,请使用return语句返回整数 注意:所有代码都是未经测试的伪代码,仅供示例使用。语法错误比比皆是 如果需要向C程序传递参数,只需在调用程序时传递即可 有关错误级别编码,请参见此处: 有关变量编码,请参见此处: 有关命令行参数,请参见此处: 将此另存为.bat并测试它
//>nul 2>nul||@goto :batch
/****** Batch code *******
:batch
@echo off
setlocal
:: find csc.exe
set "frm=%SystemRoot%\Microsoft.NET\Framework\"
for /f "tokens=* delims=" %%v in ('dir /b /a:d /o:-n "%SystemRoot%\Microsoft.NET\Framework\v*"') do (
set netver=%%v
goto :break_loop
)
:break_loop
set csc=%frm%%netver%\csc.exe
:: csc.exe found
call %csc% /nologo /out:"%~n0.exe" "%~dpsfnx0"
%~n0.exe %*
:::::
echo this was echoed from the batch
::::
endlocal
pause
exit /b 0
******* end of batch code *****/
// c# code
public class Hello
{
public static void Main()
{
System.Console.WriteLine("Hello, C# World!");
}
}
您选择通过PowerShell使用批处理文件的原因是什么?
//>nul 2>nul||@goto :batch
/****** Batch code *******
:batch
@echo off
setlocal
:: find csc.exe
set "frm=%SystemRoot%\Microsoft.NET\Framework\"
for /f "tokens=* delims=" %%v in ('dir /b /a:d /o:-n "%SystemRoot%\Microsoft.NET\Framework\v*"') do (
set netver=%%v
goto :break_loop
)
:break_loop
set csc=%frm%%netver%\csc.exe
:: csc.exe found
call %csc% /nologo /out:"%~n0.exe" "%~dpsfnx0"
%~n0.exe %*
:::::
echo this was echoed from the batch
::::
endlocal
pause
exit /b 0
******* end of batch code *****/
// c# code
public class Hello
{
public static void Main()
{
System.Console.WriteLine("Hello, C# World!");
}
}