【发布时间】:2012-07-13 22:24:33
【问题描述】:
我正在寻找一种使用 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
【问题讨论】:
-
子批次如何返回值?屏幕上?还是你被困在哪里?
-
现在我有返回变量 echo 因为“@FOR /F”捕获了 echo 并保存到变量中。所以简而言之,我希望将返回保存到变量中,同时能够在 1 到 9 个参数之间传递。
标签: batch-file