gpt4 book ai didi

batch-file - 使用参数从包含的批处理文件中调用函数

转载 作者:行者123 更新时间:2023-12-01 09:19:29 35 4
gpt4 key购买 nike

在我的主批处理文件中,我包含另一个批处理文件并想调用其中定义的函数,代码如下所示:

@echo off
call define_wait.bat

if "%1"=="WAIT" (
call :WAIT_AND_PRINT 5
echo.
)

REM rest...

我的define_wait.bat 如下所示:
:WAIT_AND_PRINT
set /a time=%1
for /l %%x in (1, 1, %time%) do (
ping -n 1 -w 1000 1.0.0.0 > null
echo|set /p=.
)
goto :EOF

:WAIT
set /a time="%1 * 1000"
ping -n 1 -w %time% 1.0.0.0 > null
goto :EOF

问题是,如果我在另一个批处理文件中定义等待函数它不起作用,调用 call :WAIT_AND_PRINT 5未正确传递参数(错误: 缺少操作数 )...

我将如何正确地做到这一点?

最佳答案

工作函数 bat 将其参数转发给它的子函数:

@echo off
call %*
goto :EOF

:WAIT_AND_PRINT
set /a time=%1
for /l %%x in (1, 1, %time%) do (
ping -n 1 -w 1000 1.0.0.0 > null
echo|set /p=.
)
goto :EOF

:WAIT
set /a time="%1 * 1000"
ping -n 1 -w %time% 1.0.0.0 > null
goto :EOF

在主 bat 中,我现在不再包含批处理文件,而是直接调用它,如下所示:
call define_wait.bat :WAIT_AND_PRINT 5

关于batch-file - 使用参数从包含的批处理文件中调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36176267/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com