您好我有批处理:
:passw022
title batch :: Password
if exist util2.txt del util2.txt
cls
echo Please enter your name:
echo.
Set name=
set /p name=Name:
echo %name%>> util.txt
echo.
echo Please enter a password you like to have:
echo.
Set passw=
<nul: set /p passw=Password:
for /f "delims=" %%i in ('cscript /nologo mask.vbs') do set passwd=%%i
echo %passw%>> base.txt
goto login
Mask.vbs包含:
Set oScriptPW = CreateObject("ScriptPW.Password")
strPassword = oScriptPW.GetPassword()
Wscript.StdOut.WriteLine strPassword
它不起作用。在'请输入您想要的密码'时,它会一直出错。 这可能是因为.txt文件不在那里,但是应该创建,并且应该有一些文本。但是通过“名字”,它正在发挥作用。
它给出以下错误消息:'Mask.vbs:编译错误:无效字符'
答案 0 :(得分:1)
重新检查您的mask.vbs
文件(如有必要,包括十六进制转储)。很可能你已经插入了一些奇怪的角色。
该代码适用于我。唯一的问题是,您将VBScript文件的输出存储到passwd
,然后将passw
回显到base.txt
,但这不是编译错误的来源。一旦修复并删除goto login
(在给出的代码片段中没有这样的标签,我认为它是更大程序的一部分),脚本运行完美。
您可能还想尝试(从命令行):
cscript /nologo mask.vbs
单独确保它是错误的VBScript文件而不是cmd文件。
答案 1 :(得分:0)
现在就开始工作了。
仍然不知道确切的问题,但无论出于何种原因,当我从网站上复制并粘贴代码时,我发现了这一点,它再次发生。
我无法找到任何愚蠢的事情。
这很疯狂,但它现在有效。
它可能是一个空间或类似的东西......