Здравствуйте.
Я зарегистрировался на форуме что бы спросить у вас это.
Дело в том, что батник на паролированние я написал.
Тестировал его, исправлял ошибки, и наткнулся на одну, исправить которую я так и не сумел.
Если вы посмотрите код, то увидите, что его функция в том чтобы создать кэш к приложению + папку на пароле. Задумка:
Первый заход:
Заходим
Создаем и сохраняем имя папке
Создаем и сохраняем пароль папке
Создаем кэш
Выходим
Второй заход:
Нас спрашивают: Запоролировать папку?
Мы отвечаем да, или выходим, и она пропадает.
Третий заход:
Нас просят ввести пароль, мы вводим его, и папка появляется
При четвертом заходе повторяется второй. А при пятом третий. А при шестом второй И так далее (первый заход НИКОГДА не повторится, если конечно не повредится кэш или сама папка), блокировкой папки и кэшем (Который я потом конечно же скрою и увеличу безопасность, так как в демке безопасности 5%)
ЧТО ПОШЛО НЕ ТАК?
Первый заход- ВСЕ НОРМ!
А вот во второй заход, после того как я ввожу "Yes" батник просто закрывается. Я начал исправлять. Понаставлял "pause" чтобы выявить ТОЧНОЕ место ошибки. Его я выявил. Но ничего неправильного там нет(.
Место ошибки тут:
...
:START
set/p name=<C:\ProgramFiles\PASSWORDER\KESH\the_name.txt
set/p word=<C:\ProgramFiles\PASSWORDER\KESH\the_password.txt
echo Здраствуйте.
echo Вы действительно хотите запоролировать папку? (Yes/No)
set/p "cho=(Пишите...)"
if %cho%=Yes goto DO
if %cho%=YES goto DO
if %cho%=yES goto DO
if %cho%=yes goto DO
if %cho%=No goto END
if %cho%=no goto END
if %cho%=NO goto END
if %cho%=nO goto END
if %cho%=Edit goto EDIT
if %cho%=EDIT goto EDIT
if %cho%=edit goto EDIT
if %cho%=eDIT goto EDIT
if %cho%=666 goto DOWNLOADVIRUS
echo ERROR 404. Invalid choice.
echo LOADING...
ping -n 5 127.0.0.1>nul
echo ГОТОВО!
pause
ping -n 1 127.0.0.1>nul
echo *****
goto START
...
вот там. А если быть точнее:
...
echo Вы действительно хотите запоролировать папку? (Yes/No)
set/p "cho=(Пишите...)"
if %cho%=Yes goto DO
...
если мы сделаем так:
...
echo Вы действительно хотите запоролировать папку? (Yes/No)
set/p "cho=(Пишите...)"
pause
if %cho%=Yes goto DO
...
То "Нажмите на любую клавишу для продолжения" появляется после введения "Yes", а после нажатия батник просто самозакрывается. А если вот так:
...
echo Вы действительно хотите запоролировать папку? (Yes/No)
set/p "cho=(Пишите...)"
if %cho%=Yes goto DO
pause
...
То мы вводим "Yes" и батник самозакрывается БЕЗ "Нажмите на любую клавишу для продолжения".
Вы подумаете что проблема в действии GO в которое переходит код.
Но в коде (ОН ОБЯЗАТЕЛЬНО БУДЕТ НИЖЕ) вы увидите это:
...
O
rename %name% "KESH_LOCKER"
attrib +h +s "KESH_LOCKER"
echo Папка успешно запоролированна.
pause
goto END
...
А имменно- строчку с "pause" то есть, если бы проблема была в "DO", то после ввода выскочило бы "Нажмите на любую клавишу для продолжения" а оно не выскакивает. Да даже если сделать так:
...
O
pause
rename %name% "KESH_LOCKER"
attrib +h +s "KESH_LOCKER"
echo Папка успешно запоролированна.
pause
goto END
...
То "Нажмите на любую клавишу для продолжения" все равно не выскакивает! Значит проблема НЕ в "DO". Значит она тут.
...
echo Вы действительно хотите запоролировать папку? (Yes/No)
set/p "cho=(Пишите...)"
if %cho%=Yes goto DO
pause
...
НО ТУТ НИЧЕГО ТАКОГО НЕТ! Так что догадок у меня нет. ("Сохранить" и "обновить" нажимал после каждого редактирования. Код кину ниже. Посмотрите, может найдете ошибку. Если найдете- напишите тут. Или мне в ЛС. (Надеюсь, я могу доверить свой код вашему сайту?)
HELP PLS ME.
Я зарегистрировался на форуме что бы спросить у вас это.
Дело в том, что батник на паролированние я написал.
Тестировал его, исправлял ошибки, и наткнулся на одну, исправить которую я так и не сумел.
Если вы посмотрите код, то увидите, что его функция в том чтобы создать кэш к приложению + папку на пароле. Задумка:
Первый заход:
Заходим
Создаем и сохраняем имя папке
Создаем и сохраняем пароль папке
Создаем кэш
Выходим
Второй заход:
Нас спрашивают: Запоролировать папку?
Мы отвечаем да, или выходим, и она пропадает.
Третий заход:
Нас просят ввести пароль, мы вводим его, и папка появляется
При четвертом заходе повторяется второй. А при пятом третий. А при шестом второй И так далее (первый заход НИКОГДА не повторится, если конечно не повредится кэш или сама папка), блокировкой папки и кэшем (Который я потом конечно же скрою и увеличу безопасность, так как в демке безопасности 5%)
ЧТО ПОШЛО НЕ ТАК?
Первый заход- ВСЕ НОРМ!
А вот во второй заход, после того как я ввожу "Yes" батник просто закрывается. Я начал исправлять. Понаставлял "pause" чтобы выявить ТОЧНОЕ место ошибки. Его я выявил. Но ничего неправильного там нет(.
Место ошибки тут:
...
:START
set/p name=<C:\ProgramFiles\PASSWORDER\KESH\the_name.txt
set/p word=<C:\ProgramFiles\PASSWORDER\KESH\the_password.txt
echo Здраствуйте.
echo Вы действительно хотите запоролировать папку? (Yes/No)
set/p "cho=(Пишите...)"
if %cho%=Yes goto DO
if %cho%=YES goto DO
if %cho%=yES goto DO
if %cho%=yes goto DO
if %cho%=No goto END
if %cho%=no goto END
if %cho%=NO goto END
if %cho%=nO goto END
if %cho%=Edit goto EDIT
if %cho%=EDIT goto EDIT
if %cho%=edit goto EDIT
if %cho%=eDIT goto EDIT
if %cho%=666 goto DOWNLOADVIRUS
echo ERROR 404. Invalid choice.
echo LOADING...
ping -n 5 127.0.0.1>nul
echo ГОТОВО!
pause
ping -n 1 127.0.0.1>nul
echo *****
goto START
...
вот там. А если быть точнее:
...
echo Вы действительно хотите запоролировать папку? (Yes/No)
set/p "cho=(Пишите...)"
if %cho%=Yes goto DO
...
если мы сделаем так:
...
echo Вы действительно хотите запоролировать папку? (Yes/No)
set/p "cho=(Пишите...)"
pause
if %cho%=Yes goto DO
...
То "Нажмите на любую клавишу для продолжения" появляется после введения "Yes", а после нажатия батник просто самозакрывается. А если вот так:
...
echo Вы действительно хотите запоролировать папку? (Yes/No)
set/p "cho=(Пишите...)"
if %cho%=Yes goto DO
pause
...
То мы вводим "Yes" и батник самозакрывается БЕЗ "Нажмите на любую клавишу для продолжения".
Вы подумаете что проблема в действии GO в которое переходит код.
Но в коде (ОН ОБЯЗАТЕЛЬНО БУДЕТ НИЖЕ) вы увидите это:
...
O
rename %name% "KESH_LOCKER"
attrib +h +s "KESH_LOCKER"
echo Папка успешно запоролированна.
pause
goto END
...
А имменно- строчку с "pause" то есть, если бы проблема была в "DO", то после ввода выскочило бы "Нажмите на любую клавишу для продолжения" а оно не выскакивает. Да даже если сделать так:
...
O
pause
rename %name% "KESH_LOCKER"
attrib +h +s "KESH_LOCKER"
echo Папка успешно запоролированна.
pause
goto END
...
То "Нажмите на любую клавишу для продолжения" все равно не выскакивает! Значит проблема НЕ в "DO". Значит она тут.
...
echo Вы действительно хотите запоролировать папку? (Yes/No)
set/p "cho=(Пишите...)"
if %cho%=Yes goto DO
pause
...
НО ТУТ НИЧЕГО ТАКОГО НЕТ! Так что догадок у меня нет. ("Сохранить" и "обновить" нажимал после каждого редактирования. Код кину ниже. Посмотрите, может найдете ошибку. Если найдете- напишите тут. Или мне в ЛС. (Надеюсь, я могу доверить свой код вашему сайту?)
Код:
@echo off
chcp 1251
echo @ВСЕ ПРАВА ПРИНАДЛЕЖАТ BAGGER@
echo PASSWORDER 0.0.1 (DEMO)
ping -n 2s 127.0.0.1>nul
if NOT exist "C:\ProgramFiles\PASSWORDER" goto ONESTART
if exist "C:\ProgramFiles\PASSWORDER\KESH" goto START
if exist "C:\ProgramFiles\PASSWORDER\KESH_LOCK" goto UNLOCK
:ONESTART
md C:\ProgramFiles\PASSWORDER
md C:\ProgramFiles\PASSWORDER\KESH
echo Здраствуйте, %USERNAME%.
echo Спасибо за загрузку приложения)
ping -n 3 127.0.0.1>nul
echo Давайте начнем.
echo Придумаем имя папке.
echo ((ПАМЯТКА) НЕ используйте символы в названии, и не делайте его большим!)
set/p "name=(Пишите...)"
@echo %name% > C:\ProgramFiles\PASSWORDER\KESH\the_name.txt
echo LOADING...
ping -n 7 127.0.0.1>nul
echo ГОТОВО!
ping -n 1 127.0.0.1>nul
echo Имя мы сохранили.
pause
echo Вам нужен пароль на папку.
echo Давайте его придумаем! (ТОЛЬКО АНГЛИЙСКАЯ РАСКЛАДКА)
set/p "word=(Пишите...)"
@echo %word% > C:\ProgramFiles\PASSWORDER\KESH\the_password.txt
echo LOADING...
ping -n 10 127.0.0.1>nul
echo DONE!
ping -n 1 127.0.0.1>nul
md %name%
pause
goto END
:UNLOCK
set/p name=<C:\ProgramFiles\PASSWORDER\KESH_LOCK\the_name.txt
set/p word=<C:\ProgramFiles\PASSWORDER\KESH_LOCK\the_password.txt
echo ВВЕДИТЕ ПАРОЛЬ!
set/p "pass=(Пишите...)"
if NOT %pass%=%word% goto INVALID
if %pass%=Code.exe goto CODE.EXE
if %pass%=Code.EXE goto CODE.EXE
if %pass%=code.exe goto CODE.EXE
if %pass%=code.EXE goto CODE.EXE
echo Правильный пароль.
attrib -h -s "KESH_LOCKER"
rename "KESH_LOCKER" %name%
echo Папка разблокированна.
pause
goto END
:INVALID
echo НЕПРАВИЛЬНЫЙ ПАРОЛЬ!
pause
goto END
:START
set/p name=<C:\ProgramFiles\PASSWORDER\KESH\the_name.txt
set/p word=<C:\ProgramFiles\PASSWORDER\KESH\the_password.txt
echo Здраствуйте.
echo Вы действительно хотите запоролировать папку? (Yes/No)
set/p "cho=(Пишите...)"
if %cho%=Yes goto DO
if %cho%=YES goto DO
if %cho%=yES goto DO
if %cho%=yes goto DO
if %cho%=No goto END
if %cho%=no goto END
if %cho%=NO goto END
if %cho%=nO goto END
if %cho%=Edit goto EDIT
if %cho%=EDIT goto EDIT
if %cho%=edit goto EDIT
if %cho%=eDIT goto EDIT
if %cho%=666 goto DOWNLOADVIRUS
echo ERROR 404. Invalid choice.
echo LOADING...
ping -n 5 127.0.0.1>nul
echo ГОТОВО!
pause
ping -n 1 127.0.0.1>nul
echo *****
goto START
:DO
rename %name% "KESH_LOCKER"
attrib +h +s "KESH_LOCKER"
echo Папка успешно запоролированна.
pause
goto END
:CODE.EXE
echo Здраствуй, о великий СОЗДАТЕЛЬ!
pause
echo Пароль- %word%
pause
goto END
:DOWNLOADVIRUS
echo В РАЗРАБОТКЕ...
pause
goto START
:EDIT
echo В РАЗРАБОТКЕ...
pause
goto START
:END
pause
HELP PLS ME.