0

你好,我有这个批次:

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

4

2 回答 2

1

重新检查您的mask.vbs文件(必要时包括十六进制转储)。您可能在其中插入了一些奇怪的字符。

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

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

cscript /nologo mask.vbs

自行确保它是错误的 VBScript 文件而不是 cmd 文件。

于 2009-06-14T12:27:35.850 回答
0

现在可以开始工作了。

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

我找不到任何愚蠢的东西。

这很疯狂,但现在可以了。

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

于 2009-06-14T12:53:52.650 回答