我对此很新,但我想要做的是当你运行批处理文件时它会问你用户帐号是什么。与您输入用户帐户相比,它将带您进入该帐户位置。我觉得我很亲密,但不确定我错过了什么。
@ECHO OFF
Title Enter Users Profile
color 4f
cd C:\Users\ dir
Set /p %User%= Account:
%User%== cd C:\Users\%user%\
答案 0 :(得分:1)
我不确定你想要实现的黑客攻击是什么,但这里是代码:
@ECHO OFF
:enterUser
SET /p usr=enter user account:
IF EXIST C:\Users\%usr% (
CD C:\Users\%usr%
) ELSE (
ECHO User not found!
ECHO Try again!
GOTO enterUser
)
PAUSE
答案 1 :(得分:0)
Set /p %User%= Account:
这是不正确的语法,因为%User已展开,但没有值,因此您最终尝试提示;
Set /p = Account:
哪个没有设定任何东西。 只需使用;
set /p User= Account:
脚本中的最后一行是
%User%== cd C:\Users\%user%\
这让我觉得你忘了把if
和相应的命令放在它之后。
在变量周围加上引号也是一种好习惯,如果有几个奇怪的符号,或者更常见的是空格混乱,这在大多数使用用户/文件/文件夹名称的命令中很容易发生。 / p>
正如我经常提到的,如果您打算让其他人使用此功能,请检查他们是否只是在set /p
之后按下
if not defined User (
echo Error: Empty Input
pause
goto :top
)
MichealS的代码应该足够了,我只想解释一些奇怪的代码。