На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Windows
1. Указывайте версию Вашей ОС.
2. Запрещается размещать запросы и ссылки на кряки, серийники и т.п., а также вопросы нарушения лицензии ПО и его взлома.
3. Не разрешается давать советы из разряда "Поставь Linux".
4. Переустановка ОС - крайнее и безотказное лекарство, которое знают все. В таких советах никто не нуждается.
5. При публикации скриптов пользоваться тегами code. Тип подсветки кода выбирать строго в соответствии с языком публикуемого кода.
6. Прежде чем задать вопрос, обязательно загляните в FAQ и следуйте написанным рекомендациям для устранения проблемы. И если не помогло, а поиск по разделу не дал результатов - только тогда задавайте вопрос на форуме.
7. Вопросы, связанные с проблемами ПО, задавайте в разделе Программное обеспечение
Модераторы: Akina
  
> Узнать название дня недели в Bat-файле
    Привет
    Возможно ли на языке Batch узнать полное название текущего дня? Например, в момент написания этого сообщения результат скрипта должен быть "Пятница"
      Batch ? :unsure:
        нет. Если только через rundll, но чего-то я сомневаюсь.
        Цитата D00M @
        на языке Batch
        у командного языка нет названия.
          Признаю, ошибся, но вопрос в силе)
            Можно, если изначально потрроить вызов на WMI объекте!
              эт как?
                DayOfWeek.cmd:
                ExpandedWrap disabled
                  @echo off
                  setlocal
                  For /f "tokens=1-7 delims=.:/-, " %%i in ('echo exit^|command /K prompt $D $T ') do (
                      For /f "tokens=2-4 delims=/-,() skip=1" %%a in ('echo.^|date') do (
                          set dow=%%i
                          set %%a=%%j
                          set %%b=%%k
                          set %%c=%%l
                          set hh=%%m
                          set min=%%n
                          set ss=%%o
                      )
                  )
                   
                  :: Результат
                  For %%i in (dow dd mm yy hh min ss) do set %%i
                   
                  if "%dow%"=="Sat" goto Saturday
                   
                  :: продолжение проверки значений dow
                  :: ...
                   
                  :Saturday
                  :: Суббота
                   
                  endlocal

                В dow возвращает сокращенное значение дня недели. Остальные переменные, думаю, понятны.
                Тестировано на Windows Server 2003 (ENG), Windows XP (ENG)
                Сообщение отредактировано: Иваныч -
                  Цитата Иваныч @
                  DayOfWeek.cmd
                  еле дошло. :wall: В command.com и cmd.exe prompt работают по разному.

                  кстати, вместо echo.^|date достаточно написать date /T

                  Добавлено
                  плохо, что результат зависит от локали. у меня возвратило "сб".
                  Сообщение отредактировано: Спящий -
                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0238 ]   [ 15 queries used ]   [ Generated: 10.05.25, 10:36 GMT ]