我正在寻找一种使用 Windows 批处理文件的方法,该文件调用传递 1-9 个参数和返回值(字符串)的子批处理文件,而无需将返回值保存到文件/等中。我将返回值保存到变量中,就像在 @FOR /F 中所做的那样
我看着
@FOR /F "tokens=*" %%i IN ('%find_OS_version%') DO SET OS_VER=%%i
和
Call function/batch %arg1% %arg2%
我没有看到如何设置来执行此操作
编辑:dbenham 有点回答我的问题。他的例子是在批处理文件主要部分和功能之间。我的问题是在两个不同的批处理文件之间。以 dbenham 为基础的答案是以下布局。
主批处理文件
CALL sub_batch_file.bat return_here "Second parameter input"
REM echo is Second parameter input
ECHO %return_here%
REM End of main-batch file
sub_batch_file.bat
@ECHO OFF
SETLOCAL
REM ~ removes the " "
SET input=%~2
(
ENDLOCAL
SET %1=%input%
)
exit /b
REM End of sub-batch file