让批处理文件从另一个批处理文件中获取参数

时间:2016-12-07 06:30:33

标签: batch-file

是否可以让一个批处理文件读取另一个批处理文件,并从另一个批处理文件中获取密码等数据?例如 批处理文件1:

@ echo off
//get data from batch file 2
set /p pass=Password:
if pass == password goto a
if not pass == password goto b
:a
//something that happens if password is good
pause
exit
:b
echo wrong password
pause
exit

批处理文件2:

MyPassword输入

1 个答案:

答案 0 :(得分:0)

参数以call ed / start编辑的方式批量传递:

bat1.bat:

set /p input= Parameter to pass here:
start "Title here" bat2.bat %input%

bat2.bat

echo Passed value: %~1

参数通常具有从1到9的索引,0是"预留"对于批处理文件本身的路径。

替代:

您可以使用for:

读取en executable的输出

bat1.bat

echo This will be displayed in bat2

bat2.bat

for /f "tokens=*" %%i in ('bat1.bat') do echo %%i

第二个批处理文件读取第一个批处理文件的输出并输出它。需要添加tokens=*,因为它将读取所有输出。

如果不清楚,请随意提问:)