从Windows命令中的另一个.bat中调用.bat文件中的函数

时间:2017-07-24 22:17:13

标签: batch-file cmd

我正在尝试调用一个函数,例如:dosomething在我的1.bat文件中。该函数存在于2.bat文件中。我怎么称呼它?

2 个答案:

答案 0 :(得分:0)

可以在1.bat中调用函数存根,然后在不调用

的情况下调用2.bat
:: 1.bat
@Echo off
Echo This is 1.bat
Call :dosomething args
Echo back in 1.bat
pause
Exit /b
:dosomething
Echo Sub %0 in 1.bat
2.bat %*
:: 2.bat
@goto :Eof
:dosomething
Echo this is 2.bat %*

示例运行:

This is 1.bat
Sub :dosomething in 1.bat
this is 2.bat args
back in 1.bat
Press any key to continue . . .

答案 1 :(得分:0)

这里的常规方法是1.bat

call 2.bat something realparameterlist

和2.bat的结构是:

@echo off
shift&goto %1

:something
(whatever)
goto :eof

当然,这可以变得更聪明:

@echo off
set "junkvar=%1"
if "%junkvar:~0,1%"==":" shift&goto %1
:: processing if first arg doesn't begin ':'

:something
(whatever)
goto :eof

提供的第一个参数必须从:

开始

应该注意的是,无论是采用更简单还是更复杂的方法,%*仍将包含[:]routinename