为什么这个密码不起作用 - 批处理

时间:2009-06-14 12:02:36

标签: vbscript batch-file passwords text-files

您好我有批处理:

: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:编译错误:无效字符'

2 个答案:

答案 0 :(得分:1)

重新检查您的mask.vbs文件(如有必要,包括十六进制转储)。很可能你已经插入了一些奇怪的角色。

该代码适用于我。唯一的问题是,您将VBScript文件的输出存储到passwd,然后将passw回显到base.txt,但这不是编译错误的来源。一旦修复并删除goto login(在给出的代码片段中没有这样的标签,我认为它是更大程序的一部分),脚本运行完美。

您可能还想尝试(从命令行):

cscript /nologo mask.vbs

单独确保它是错误的VBScript文件而不是cmd文件。

答案 1 :(得分:0)

现在就开始工作了。

仍然不知道确切的问题,但无论出于何种原因,当我从网站上复制并粘贴代码时,我发现了这一点,它再次发生。

我无法找到任何愚蠢的事情。

这很疯狂,但它现在有效。

它可能是一个空间或类似的东西......