Главная
Форумы
Новые сообщения
Поиск сообщений
Что нового?
Новые сообщения
Новые ресурсы
Последняя активность
Ресурсы
Последние отзывы
Поиск ресурсов
Помощь форуму
ЧатTG
Вход
Регистрация
Что нового?
Поиск
Поиск
Искать только в заголовках
От:
Новые сообщения
Поиск сообщений
Меню
Вход
Регистрация
Приложение
Установить
Форумы
Форум программистов
Пакетные файлы CMD, BAT
[CMD] Не понятная ошибка (Вылет)
JavaScript отключён. Чтобы полноценно использовать наш сайт, включите JavaScript в своём браузере.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать
другой
.
Ответить в теме
Сообщение
[QUOTE="BaGGeR, post: 247251, member: 16160"] Здравствуйте. Я зарегистрировался на форуме что бы спросить у вас это. Дело в том, что батник на паролированние я написал. Тестировал его, исправлял ошибки, и наткнулся на одну, исправить которую я так и не сумел. Если вы посмотрите код, то увидите, что его функция в том чтобы создать кэш к приложению + папку на пароле. Задумка: Первый заход: Заходим Создаем и сохраняем имя папке Создаем и сохраняем пароль папке Создаем кэш Выходим Второй заход: Нас спрашивают: Запоролировать папку? Мы отвечаем да, или выходим, и она пропадает. Третий заход: Нас просят ввести пароль, мы вводим его, и папка появляется При четвертом заходе повторяется второй. А при пятом третий. А при шестом второй И так далее (первый заход НИКОГДА не повторится, если конечно не повредится кэш или сама папка), блокировкой папки и кэшем (Который я потом конечно же скрою и увеличу безопасность, так как в демке безопасности 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 в которое переходит код. Но в коде (ОН ОБЯЗАТЕЛЬНО БУДЕТ НИЖЕ) вы увидите это: ... :DO rename %name% "KESH_LOCKER" attrib +h +s "KESH_LOCKER" echo Папка успешно запоролированна. pause goto END ... А имменно- строчку с "pause" то есть, если бы проблема была в "DO", то после ввода выскочило бы "Нажмите на любую клавишу для продолжения" а оно не выскакивает. Да даже если сделать так: ... :DO 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 ... НО ТУТ НИЧЕГО ТАКОГО НЕТ! Так что догадок у меня нет. ("Сохранить" и "обновить" нажимал после каждого редактирования. Код кину ниже. Посмотрите, может найдете ошибку. Если найдете- напишите тут. Или мне в ЛС. (Надеюсь, я могу доверить свой код вашему сайту?) [code]@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[/code] HELP PLS ME. [/QUOTE]
Вставить цитаты...
Проверка
Ответить
Форумы
Форум программистов
Пакетные файлы CMD, BAT
[CMD] Не понятная ошибка (Вылет)
Сверху
Снизу