Сохранение и восстановление настроек System Tray
Цитата: fakel от 27.10.2022, 13:54День добрый, похоже Ссылка на файл умерла, поправьте пожалуйста, не получается скачать.
День добрый, похоже Ссылка на файл умерла, поправьте пожалуйста, не получается скачать.
Цитата: Mikhail от 27.10.2022, 13:59Привет.
Ссылка работает.
Привет.
Ссылка работает.
Цитата: Игорь от 27.10.2022, 14:00fakel, приветствую 🖐
И в твоём сообщении и на первой странице, ссылки работают.
fakel, приветствую 🖐
И в твоём сообщении и на первой странице, ссылки работают.
Цитата: fakel от 27.10.2022, 14:11Прошу простить за беспокойство, всем огромное спасибо, нужно было качать сразу через Tor...
Прошу простить за беспокойство, всем огромное спасибо, нужно было качать сразу через Tor...
Цитата: Игорь от 11.08.2023, 21:11Cronos, привет!🖐
В более новых версиях системы Windows, начиная с Windows 2000 используется формат "Windows Registry Editor Version 5.00". Возможно поправить содержимое файла так, чтобы избавиться от "REGEDIT4", т.к. он использовался для более старых версий Windows, а использовался "Windows Registry Editor Version 5.00"?
Cronos, привет!🖐
В более новых версиях системы Windows, начиная с Windows 2000 используется формат "Windows Registry Editor Version 5.00". Возможно поправить содержимое файла так, чтобы избавиться от "REGEDIT4", т.к. он использовался для более старых версий Windows, а использовался "Windows Registry Editor Version 5.00"?
Цитата: Игорь от 11.08.2023, 22:02Сам спросил, сам отвечу.
Нужно заменить::Backup ECHO Backup regedit.exe -ea "%CD%\TraySettings.reg" "HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" goto endна:
:Backup ECHO Backup regedit.exe /e "%CD%\TraySettings.reg" "HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" goto end
Сам спросил, сам отвечу.
Нужно заменить:
:Backup ECHO Backup regedit.exe -ea "%CD%\TraySettings.reg" "HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" goto end
на:
:Backup ECHO Backup regedit.exe /e "%CD%\TraySettings.reg" "HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" goto end
Цитата: Игорь от 12.08.2023, 02:05Здравствуйте.
В этом месте не выполняется условие проверки корректности ввода, тобишь сообщение "не является допустимым вариантом, попробуйте снова" не выводится.:start ECHO. ECHO 1. Back up ECHO 2. Restore ECHO 3. Exit set /p choice=Введите номер, чтобы выполнить команду. if '%choice%'=='' ECHO "%choice%" не является допустимым вариантом, попробуйте снова if '%choice%'=='1' goto Backup if '%choice%'=='2' goto Restore if '%choice%'=='3' goto Exit ECHO. goto startНеобходимо поправить:
:start echo. echo 1. Backup echo 2. Restore echo 3. Exit set /p choice=Введите номер, чтобы выполнить команду: if not "%choice%"=="1" if not "%choice%"=="2" if not "%choice%"=="3" ( echo Введённый вариант не является допустимым. Пожалуйста, повторите выбор. goto start ) if '%choice%'=='1' goto Backup if '%choice%'=='2' goto Restore if '%choice%'=='3' goto Exit echo. goto start
Здравствуйте.
В этом месте не выполняется условие проверки корректности ввода, тобишь сообщение "не является допустимым вариантом, попробуйте снова" не выводится.
:start ECHO. ECHO 1. Back up ECHO 2. Restore ECHO 3. Exit set /p choice=Введите номер, чтобы выполнить команду. if '%choice%'=='' ECHO "%choice%" не является допустимым вариантом, попробуйте снова if '%choice%'=='1' goto Backup if '%choice%'=='2' goto Restore if '%choice%'=='3' goto Exit ECHO. goto start
Необходимо поправить:
:start
echo.
echo 1. Backup
echo 2. Restore
echo 3. Exit
set /p choice=Введите номер, чтобы выполнить команду:
if not "%choice%"=="1" if not "%choice%"=="2" if not "%choice%"=="3" (
echo Введённый вариант не является допустимым. Пожалуйста, повторите выбор.
goto start
)
if '%choice%'=='1' goto Backup
if '%choice%'=='2' goto Restore
if '%choice%'=='3' goto Exit
echo.
goto start
Цитата: Mikhail от 12.08.2023, 04:40Игорь, Привет.
Какой-то странный код у тебя)):start chcp 65001 > nul @echo off echo 1. Backup echo 2. Restore echo 3. Exit set /p choice=введите номер: if "%choice%"=="1" goto Backup if "%choice%"=="2" goto Restore if "%choice%"=="3" goto Exit echo Неверный ввод. goto start :Backup :Restore :Exit exit
Игорь, Привет.
Какой-то странный код у тебя))
:start chcp 65001 > nul @echo off echo 1. Backup echo 2. Restore echo 3. Exit set /p choice=введите номер: if "%choice%"=="1" goto Backup if "%choice%"=="2" goto Restore if "%choice%"=="3" goto Exit echo Неверный ввод. goto start :Backup :Restore :Exit exit
Цитата: Игорь от 12.08.2023, 12:47Mikhail, привет)
Смысл один и тот же. Проверка всех недопустимых вариантов одновременно и проверка, где каждое условие проверяется по отдельности.
В моём фрагменте:
Проверяется каждый вариант отдельно с помощью нескольких операторов if not.
Если ни одно из условий не выполняется (то есть введенное значение не равно ни "1", ни "2", ни "3"), то выводится сообщение об ошибке с помощью echo и происходит переход обратно к метке :start.У тебя во фрагменте:
Ввод просто сравнивается с каждым вариантом через оператор if.
Если ни одно из условий не выполняется, выводится сообщение об ошибке с помощью echo и также происходит переход обратно к метке :start.Ну и кодировочку нужно обязательно не такую
chcp 65001, а такую - chcp 1251 , т.к. используется кириллица на выводе, чтобы не было барматухи. 😀
Mikhail, привет)
Смысл один и тот же. Проверка всех недопустимых вариантов одновременно и проверка, где каждое условие проверяется по отдельности.
В моём фрагменте:
Проверяется каждый вариант отдельно с помощью нескольких операторов if not.
Если ни одно из условий не выполняется (то есть введенное значение не равно ни "1", ни "2", ни "3"), то выводится сообщение об ошибке с помощью echo и происходит переход обратно к метке :start.
У тебя во фрагменте:
Ввод просто сравнивается с каждым вариантом через оператор if.
Если ни одно из условий не выполняется, выводится сообщение об ошибке с помощью echo и также происходит переход обратно к метке :start.
Ну и кодировочку нужно обязательно не такую chcp 65001 , а такую - chcp 1251 , т.к. используется кириллица на выводе, чтобы не было барматухи. 😀
Цитата: Mikhail от 12.08.2023, 12:59Игорь, Ну так у меня проще и правильней, зачем проверять условие, если else и так будет, когда будет введен неверный ввод.
А chcp 65001 > nul устанавливает urf-8 чтоб не было кракозябр, если кто-то сохранит криво и т.д.
Игорь, Ну так у меня проще и правильней, зачем проверять условие, если else и так будет, когда будет введен неверный ввод.
А chcp 65001 > nul устанавливает urf-8 чтоб не было кракозябр, если кто-то сохранит криво и т.д.
Цитата: Игорь от 12.08.2023, 13:16Mikhail, насчёт кодировки, у автора сохранён .cmd в кириллице 1251, и chcp 1251 потому нужен.
Насчёт chcp 65001, если .cmd сохранён в UTF 8. То могут быть проблемы, если использовать title.chcp 65001 > nul title Резервное копирование треяВот
Происходит лишняя, как по мне надпись 'Administrator'. В это можно убедиться, произведя неверный ввод.
Mikhail, насчёт кодировки, у автора сохранён .cmd в кириллице 1251, и chcp 1251 потому нужен.
Насчёт chcp 65001, если .cmd сохранён в UTF 8. То могут быть проблемы, если использовать title.
chcp 65001 > nul title Резервное копирование трея
Вот
Происходит лишняя, как по мне надпись 'Administrator'. В это можно убедиться, произведя неверный ввод.
Цитата: Mikhail от 12.08.2023, 13:21Да, так и так работает, поэтому используй как нравится)
Да, так и так работает, поэтому используй как нравится)