|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - bat смена часового пояса по условию |
|
|
CMD/BAT - bat смена часового пояса по условию
|
Новый участник Сообщения: 6 |
Всем доброго дня
Уже долгое время ищу решение вопроса наболевшего. Есть программа на компьютере, которой что бы работать нужно менять часовой пояс. Задумал скрипт смены часового пояса по условию между Georgian Standard Time и Russian Standart Time через условие проверки текущего часового пояса. Сначало думал что через переменные (запихнуть часовой пояс и выходить на условие if), но это оказалось невыполнимо. Кто имел дело, или работал с bat-файлами такого содержания, пожалуйста, подкинте выход из ситуации... |
|
Отправлено: 16:42, 21-07-2018 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата sdaa113:
|
|
Отправлено: 16:55, 21-07-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Iska
if "Текущий часовой пояс" = Russian Standart Time tzutil/s "Georgian Standard Time_dstoff" else tzutil/s "Russian Standart Time_dstoff" Может не соответствовать синтаксису bat файл, приблизительный макет из головы ![]() Нужно что бы по нажатию брал текущую timezone, сравнивал с стандартной, если соответствует стандартной - менять на Georgian, если не соответствует - менять на Russian Standart |
Отправлено: 17:14, 21-07-2018 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать sdaa113, Вы понимаете, что если при исполнении «Текущий часовой пояс» окажется любым, кроме Russian Standart Time (а не только предполагаемый Georgian Standard Time), то результатом всегда будет «Russian Standart Time_dstoff»?
Вот примерная болванка: @echo off setlocal enableextensions enabledelayedexpansion for /f "usebackq delims=" %%i in (`tzutil.exe /g`) do set sCurrTimeZoneID=%%~i if defined sCurrTimeZoneID ( if /i "%sCurrTimeZoneID%" equ "Russian Standard Time" ( tzutil.exe /s "Georgian Standard Time_dstoff" ) else ( tzutil.exe /s "Russian Standart Time_dstoff" ) ) else ( echo Can't determine current TimeZoneID exit /b 1 ) endlocal exit /b 0 |
Последний раз редактировалось Iska, 21-07-2018 в 19:11. Причина: Убрал забытые echo Отправлено: 17:36, 21-07-2018 | #4 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Iska Спасибо за вариант, буду разбираться, пока выдает множество ошибок...
|
|
Отправлено: 18:01, 21-07-2018 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата sdaa113:
|
|
Отправлено: 18:08, 21-07-2018 | #6 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Iska проблема с пробелами была, поправил заработало, осталось как то менять часовые пояса, спасибо огромное за большую часть помощи
![]() https://ibb.co/iauo8d Дошаманил с кодом, убрал echo и префикс exe у tzuntil - заработало в сторону первого условия, но почему то не работает через else, сижу думаю... |
Последний раз редактировалось sdaa113, 21-07-2018 в 19:08. Отправлено: 18:58, 21-07-2018 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать sdaa113, это я, балбес, не убрал echo из отладочного варианта. Поправил код выше. Приношу Вам свои извинения.
sdaa113, старайтесь не давать пакетным файлам имена внутренних или внешних команд, в данном случае — time.bat: это чревато труднораспознаваемыми ошибками. Цитата sdaa113:
Цитата sdaa113:
|
||
Отправлено: 19:11, 21-07-2018 | #8 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать iska https://ibb.co/iFoO8d
Поставил Кабулу (+4:30 UTC), и Тбилиси, такая ошибка теперь падает Iska, нашел ошибку... буква t в слове Russian Standart Zone, нужна была d, все, заработало ![]() |
Отправлено: 19:18, 21-07-2018 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать sdaa113, теперь покажите Ваш код.
Ошибка прямо указывает на то, что использован недопустимый параметр. Также там указано, каким образом получить перечисление допустимых параметров. |
Отправлено: 19:21, 21-07-2018 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [BAT\CMD] Универсальное обновление часового пояса (time zone) на Windows XP | stanislav.poddubskiy@fb | Скриптовые языки администрирования Windows | 1 | 18-10-2014 19:31 | |
Установка дополнительного часового пояса в трей в windows7 | vladkzmnk | Хочу все знать | 0 | 07-10-2013 15:04 | |
Смена часового пояса в домене | Porsch | Microsoft Windows NT/2000/2003 | 2 | 13-04-2010 10:26 | |
Установка фиксированного часового пояса в домене | Orgalit | Microsoft Windows NT/2000/2003 | 4 | 21-10-2008 12:25 | |
Смена часового пояса на рабочих станциях в домене. | nghst | Microsoft Windows NT/2000/2003 | 2 | 31-03-2008 09:59 |
|