1

我正在尝试使用密码设置代码,其中不同的密码会将您带到不同的目录。所有目录都在同一个 .bat 文件中,但我想使用另一个 .bat 来调用密码并将我带到目录。我不知道该怎么做,并且发现很难在主题搜索中找到。

我的代码如下所示:

@echo off
:takemeto
cls
echo Enter Password
set /p name=
call C:\Users\Username\Desktop\Batch files\passwords.bat

:password1
cls
echo You have chosen Password 1

:password2
cls
echo You have chosen Password 2

CALL 旨在通过密码查找和使用我的文件。这些文件具有密码和目录,如下所示:

:Passwords
if "%name%" == "password1" goto password1
if "%name%" == "password2" goto password2
/end

希望这很清楚,谢谢-Rob

4

1 回答 1

0

让您的外部批处理脚本回显其输出。用for /f循环捕获它。

@echo off
setlocal
set extbat=C:\Users\Username\Desktop\Batch files\passwords.bat

:takemeto
cls
set /p name="Enter Password: "
for /f %%I in ('"%extbat%" %name%') do goto %%I

:invalid
echo Invalid password entered.
set name=
pause
goto takemeto

:password1
cls
echo You have chosen Password 1
goto :EOF

:password2
cls
echo You have chosen Password 2
goto :EOF

示例C:\Users\Username\Desktop\Batch files\passwords.bat

@echo off
if #%1==# (
    echo takemeto
) else if #%1==#correct1 (
    echo password1
) else if #%1==#correct2 (
    echo password2
) else echo invalid

...您希望用户输入的密码在哪里correct1以及在哪里。correct2

于 2013-01-31T18:25:45.617 回答