Почему этот пароль не работает - Пакетный - PullRequest
0 голосов
/ 14 июня 2009

Здравствуйте, у меня есть это в пакете:

: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 ]

1 голос
/ 14 июня 2009

Перепроверьте ваш файл mask.vbs (включая шестнадцатеричный дамп, если необходимо). Вероятно, вы вставили в него какой-то странный символ.

Этот код отлично работает для меня. Единственная проблема заключается в том, что вы сохраняете выходные данные из файла VBScript в passwd, а затем выводите passw в base.txt, но это не является причиной вашей ошибки компиляции. Как только это исправлено и goto login удалено (такой метки в приведенном фрагменте нет, я предполагаю, что она является частью более крупной программы), сценарий отлично работает.

Вы также можете попробовать (из командной строки):

cscript /nologo mask.vbs

сам по себе, чтобы убедиться, что виноват файл VBScript, а не файл cmd.

0 голосов
/ 14 июня 2009

Работай сейчас.

До сих пор точно не знаю, в чем проблема, но по какой-то причине, когда я копирую и вставляю код в VBS с веб-сайта, на котором я нашел это, это происходит снова.

Я не смог найти глупостей.

Это безумие, но теперь оно работает.

Это может быть пробел или что-то в этом роде ...

...