Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Переменная Дня недели (http://forum.oszone.net/showthread.php?t=134325)

ratibor79 10-03-2009 17:27 1059801

Переменная Дня недели
 
Всем доброе время суток!

Подскажите, пожалуйста, какую команду нужно написать, чтобы создать папку с именем текущего дня недели?

Заранее благодарен!

Maza Faka 11-03-2009 07:10 1060287

Цитата:

Цитата ratibor79
создать папку с именем текущего дня недели »

Попробуй так

gora 11-03-2009 13:50 1060523

ratibor79, нашел у себя в "залежах":
Код:

@echo off

:: format: dd.mm.yyyy

echo %date%
set /a y=%date:~6,4%&set /a m=%date:~3,2%&set /a d=%date:~0,2%
set /a i=(%y%-1901)*365 + (%y%-1901)/4 + %d% + (!(%y% %% 4))*(!((%m%-3)^&16))
echo %i%
set /a i=(%i%+(%m%-1)*30+2*(!((%m%-7)^&16))-1+((65611044^>^>(2*%m%))^&3))%%7+1
echo %i%
REM (igor_andreev)

for /f "tokens=%i% delims=/" %%a in ('
echo/Понедельник/Вторник/Среда/Четверг/Пятница/Суббота/Воскресенье') do set "w=%%a"
for /f "tokens=%date:~3,2% delims=/" %%a in ('
ECHO/Января/Февраля/Марта/Апреля/Мая/Июня/Июля/Августа/Сентября/Октября/Ноября/Декабря/') do set "mmm=%%a"

echo %w% %d% %mmm% %y%
pause

Что не нужно удалите.

ratibor79 11-03-2009 16:27 1060660

gora, спасибо. Как раз то что доктор прописал.

ratibor79 11-03-2009 17:18 1060712

gora Вот только что сталкнулся с ошибкой

Обратите пожалуйста внимание на 8 или 9 числа любого месяца

C:\TEMP>set /a y=2009 & set /a m=02 & set /a d=09
Неправильное число. Числовые константы должны быть десятичными (17)
шестнадцатеричными (0x11),или восьмеричными (021).

C:\TEMP>set /a i=(2009-1901)*365 + (2009-1901)/4 + + (!(2009 % 4))*(!((2-3)&16))

C:\TEMP>set /a i=(39447+(2-1)*30+2*(!((2-7)&16))-1+((65611044>>(2*2))&3))%7+1

C:\TEMP>for /F "tokens=6 delims=/" %a in (' echo/Понедельник/Вторник/Среда/Четве
рг/Пятница/Суббота/Воскресенье') do set "w=%a"

C:\TEMP>set "w=Суббота"

C:\TEMP>for /F "tokens=02 delims=/" %a in (' ECHO/Января/Февраля/Марта/Апреля/Ма
я/Июня/Июля/Августа/Сентября/Октября/Ноября/Декабря/') do set "mmm=%a"

C:\TEMP>set "mmm=Февраля"

C:\TEMP>echo Суббота Февраля 2009
Суббота Февраля 2009

9 февраля - это был понедельник

gora 11-03-2009 18:25 1060783

Цитата:

Цитата ratibor79
только что сталкнулся с ошибкой »

Скрипт не мой и досканально его не проверял, но проблема легко решается. Немного подправил:
Код:

@echo off
:: format: dd.mm.yyyy
:: кодировка кирилица DOS (866)
echo %date%
set /a y=%date:~6,4%&set /a m=1%date:~3,2%-100&set /a d=1%date:~0,2%-100
set /a i=(%y%-1901)*365 + (%y%-1901)/4 + %d% + (!(%y% %% 4))*(!((%m%-3)^&16))
set /a i=(%i%+(%m%-1)*30+2*(!((%m%-7)^&16))-1+((65611044^>^>(2*%m%))^&3))%%7+1
::  (igor_andreev)
for /f "tokens=%i% delims=/" %%a in ('
echo/Понедельник/Вторник/Среда/Четверг/Пятница/Суббота/Воскресенье') do set "w=%%a"
for /f "tokens=%m% delims=/" %%a in ('
ECHO/Января/Февраля/Марта/Апреля/Мая/Июня/Июля/Августа/Сентября/Октября/Ноября/Декабря/') do set "mmm=%%a"
echo %w% %d% %mmm% %y%
pause>nul


ratibor79 11-03-2009 19:23 1060848

gora
Вот спасибочки работает

amel27 13-03-2009 05:07 1062337

Можно решить задачку элегантней, но для этого придется предварительно скомпилировать WMIC псевдоним для WMI класса Win32_LocalTime, после этого можно будет легко получать любые параметры текущей даты, включая номер квартала, номер недели в месяце и т.д. MOF-файл (файл в WIN-кодировке):
Код:

#pragma namespace("\\\\.\\ROOT\\Cli")

instance of MSFT_CliAlias
{
Connection =
instance of MSFT_CliConnection
{
Locale = "ms_409";
NameSpace = "ROOT\\CIMV2";
Server = ".";
};
Description = "Местное время";
Formats =
{
instance of MSFT_CliFormat
{
Format = "TABLE";
Name = "BRIEF";
Properties =
{
instance of MSFT_CliProperty           
{
Derivation = "DayOfWeek";
Description = "День недели";
Name = "DayOfWeek";
},
instance of MSFT_CliProperty
{
Derivation = "Year";
Description = "Год";
Name = "Year";
},
instance of MSFT_CliProperty
{
Derivation = "Month";
Description = "Месяц";
Name = "Month";
},
instance of MSFT_CliProperty
{
Derivation = "Day";
Description = "Число";
Name = "Day";
},
instance of MSFT_CliProperty
{
Derivation = "Hour";
Description = "Часы";
Name = "Hour";
},
instance of MSFT_CliProperty
{
Derivation = "Minute";
Description = "Минуты";
Name = "Minute";
},
instance of MSFT_CliProperty
{
Derivation = "Second";
Description = "Секунды";
Name = "Second";
}};
},
instance of MSFT_CliFormat
{
Format = "VALUE";
Name = "FULL";
Properties =
{
instance of MSFT_CliProperty           
{
Derivation = "DayOfWeek";
Description = "День недели";
Name = "DayOfWeek";
},
instance of MSFT_CliProperty           
{
Derivation = "WeekInMonth";
Description = "Неделя месяца";
Name = "WeekInMonth";
},
instance of MSFT_CliProperty
{
Derivation = "Year";
Description = "Год";
Name = "Year";
},
instance of MSFT_CliProperty
{
Derivation = "Quarter";
Description = "Квартал";
Name = "Quarter";
},
instance of MSFT_CliProperty
{
Derivation = "Month";
Description = "Месяц";
Name = "Month";
},
instance of MSFT_CliProperty
{
Derivation = "Day";
Description = "Число";
Name = "Day";
},
instance of MSFT_CliProperty
{
Derivation = "Hour";
Description = "Часы";
Name = "Hour";
},
instance of MSFT_CliProperty
{
Derivation = "Minute";
Description = "Минуты";
Name = "Minute";
},
instance of MSFT_CliProperty
{
Derivation = "Second";
Description = "Секунды";
Name = "Second";
},
instance of MSFT_CliProperty
{
Derivation = "MilliSeconds";
Description = "Миллисекунды";
Name = "MilliSeconds";
}};
},
instance of MSFT_CliFormat
{
Format = "Table";
Name = "SYSTEM";
Properties =
{
instance of MSFT_CliProperty
{
Derivation = "__PATH";
Name = "__PATH";
},
instance of MSFT_CliProperty
{
Derivation = "__NAMESPACE";
Name = "__NAMESPACE";
},
instance of MSFT_CliProperty
{
Derivation = "__SERVER";
Name = "__SERVER";
},
instance of MSFT_CliProperty
{
Derivation = "__PROPERTY_COUNT";
Name = "__PROPERTY_COUNT";
},
instance of MSFT_CliProperty
{
Derivation = "__RELPATH";
Name = "__RELPATH";
},
instance of MSFT_CliProperty
{
Derivation = "__DYNASTY";
Name = "__DYNASTY";
},
instance of MSFT_CliProperty
{
Derivation = "__SUPERCLASS";
Name = "__SUPERCLASS";
},
instance of MSFT_CliProperty
{
Derivation = "__GENUS";
Name = "__GENUS";
},
instance of MSFT_CliProperty
{
Derivation = "__CLASS";
Name = "__CLASS";
}};
}};
FriendlyName = "LocalTime";
PWhere = "Where Name='#'";
Target = "Select * From Win32_LocalTime";
};

Процедура компиляции (через MOFComp) одноразовая, но можно реализовать условную компиляцию... Например, если имя MOF-файла совпадает с именем CMD-файла, то для обеспечения корректной работы батника на любом компьютере можно добавить в начало скрипта две строчки:
Код:

WMIC LocalTime Get DayOfWeek >Nul
If ErrorLevel 1 MOFComp "%~dpn0.mof"

пример батника, использующего созданный псевдоним (DOS-кодировка):
Код:

@Echo Off

For /F "Skip=1" %%i In ('WMIC LocalTime Get DayOfWeek') Do Set DayOfWeek=%%i
For /F "Tokens=%DayOfWeek% Delims=," %%i In ("Понедельник,Вторник,Среда,Четверг,Пятница,Суббота,Воскресенье") Do Set DayOfWeekName=%%i

Echo Сегодня %DayOfWeekName%,
Echo это %DayOfWeek%-й день недели


Petya V4sechkin 13-03-2009 14:25 1062696

Цитата:

Цитата amel27
но для этого придется предварительно скомпилировать WMIC псевдоним

А зачем компилировать? можно ведь сразу:
Код:

WMIC Path Win32_LocalTime Get DayOfWeek

amel27 13-03-2009 15:37 1062788

Цитата:

Цитата Petya V4sechkin
А зачем компилировать? »

спасибо, не знал, что можно без псевдонимов... проглядел :)

amel27 15-04-2009 11:41 1094592

решил свести все вместе, c поддержкой серверных ОС (ненужное можно удалить):
Код:

@Echo Off

For /F "Skip=1" %%i In ('WMIC Path Win32_LocalTime Get Day') Do Set $Day=%%i&GoTo Day
:Day
For /F "Skip=1" %%i In ('WMIC Path Win32_LocalTime Get Month') Do Set $Month=%%i&GoTo Month
:Month
For /F "Tokens=%$Month% Delims=," %%i In ("Январь,Февраль,Март,Апрель,Май,Июнь,Июль,Август,Сентябрь,Октябрь,Ноябрь,Декабрь") Do Set $MonthName=%%i
For /F "Skip=1" %%i In ('WMIC Path Win32_LocalTime Get Year') Do Set $Year=%%i&GoTo Year
:Year
For /F "Skip=1" %%i In ('WMIC Path Win32_LocalTime Get DayOfWeek') Do Set /A $DayOfWeek=%%i+1&GoTo DayOfWeek
:DayOfWeek
For /F "Tokens=%$DayOfWeek% Delims=," %%i In ("Воскресенье,Понедельник,Вторник,Среда,Четверг,Пятница,Суббота") Do Set $DayOfWeekName=%%i
For /F "Skip=1" %%i In ('WMIC Path Win32_LocalTime Get WeekInMonth') Do Set $WeekInMonth=%%i&GoTo WeekInMonth
:WeekInMonth
For /F "Skip=1" %%i In ('WMIC Path Win32_LocalTime Get Hour') Do Set $Hour=%%i&GoTo Hour
:Hour
For /F "Skip=1" %%i In ('WMIC Path Win32_LocalTime Get Minute') Do Set $Minute=%%i&GoTo Minute
:Minute
For /F "Skip=1" %%i In ('WMIC Path Win32_LocalTime Get Second') Do Set $Second=%%i&GoTo Second
:Second


Echo --------------------------------------
Echo День        : %$Day%
Echo Месяц        : %$MonthName% (%$Month%-й месяц года)
Echo Год          : %$Year%
Echo --------------------------------------
Echo День недели  : %$DayOfWeekName% (%$DayOfWeek%-й день недели)
Echo Неделя месяца: %$WeekInMonth%
Echo --------------------------------------
Echo Часов        : %$Hour%
Echo Минут        : %$Minute%
Echo Секунд      : %$Second%
Echo --------------------------------------


gora 15-04-2009 13:29 1094669

amel27, а в чем смысл GoTo? Без них вроде и так будет переходить на следующую строку. Немного причесал, чтобы не "рябило в глазах".
Код:

@Echo Off

Call :GetVar Day
Call :GetVar Month
For /F "Tokens=%$Month%" %%i In ("Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь") Do Set $MonthName=%%i
Call :GetVar Year
Call :GetVar DayOfWeek
For /F "Tokens=%$DayOfWeek%" %%i In ("Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье") Do Set $DayOfWeekName=%%i
Call :GetVar WeekInMonth
Call :GetVar Hour
Call :GetVar Minute
Call :GetVar Second

Echo --------------------------------------
Echo День        : %$Day%
Echo Месяц        : %$MonthName% (%$Month%-й месяц года)
Echo Год          : %$Year%
Echo --------------------------------------
Echo День недели  : %$DayOfWeekName% (%$DayOfWeek%-й день недели)
Echo Неделя месяца: %$WeekInMonth%
Echo --------------------------------------
Echo Часов        : %$Hour%
Echo Минут        : %$Minute%
Echo Секунд      : %$Second%
Echo --------------------------------------
Pause>nul
Exit

:GetVar
For /F "Skip=1" %%i In ('WMIC Path Win32_LocalTime Get %1') Do Set $%1=%%i
GoTo :EOF


ShaddyR 15-04-2009 15:03 1094730

Цитата:

Цитата gora
Немного причесал, чтобы не "рябило в глазах" »

хм.. видать, косичку сильно затянул..
ОС 2003R2_SP2_Ru
Скрипт подумал секунд несколько и выдал следующее:
Цитата:

--------------------------------------
День :
Месяц : (-й месяц года)
Год :
--------------------------------------
День недели : (-й день недели)
Неделя месяца:
--------------------------------------
Часов :
Минут :
Секунд :
--------------------------------------
как-то кратко очень.. ;)

в отличие от варианта amel27
Цитата:

--------------------------------------
День : 15
Месяц : Апрель (4-й месяц года)
Год : 2009
--------------------------------------
День недели : Среда (3-й день недели)
Неделя месяца: 3
--------------------------------------
Часов : 14
Минут : 4
Секунд : 29
--------------------------------------
мож, таки не помешали бы эти самые ГоуТы ? ;)

Petya V4sechkin 15-04-2009 15:07 1094734

amel27, gora, я бы сделал так:
Код:

@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion

For /F "Tokens=1* Delims==" %%i In ('WMIC Path Win32_LocalTime Get /Value ^| Find "="') Do (
  Set V=%%j
  Set $%%i=!V:~0,-1!
)
If "%$DayOfWeek%"=="0" Set $DayOfWeek=7

For /F "Tokens=%$Month%" %%i In ("Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь") Do Set $MonthName=%%i
For /F "Tokens=%$DayOfWeek%" %%i In ("Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье") Do Set $DayOfWeekName=%%i

Echo --------------------------------------
Echo День          : %$Day%
Echo Месяц        : %$MonthName% (%$Month%-й месяц года)
Echo Год          : %$Year%
Echo --------------------------------------
Echo День недели  : %$DayOfWeekName% (%$DayOfWeek%-й день недели)
Echo Квартал      : %$Quarter%
Echo --------------------------------------
Echo Часов        : %$Hour%
Echo Минут        : %$Minute%
Echo Секунд        : %$Second%
Echo --------------------------------------
Pause>nul
Exit

  1. один вызов WMIC;
  2. исправление DayOfWeek (чтобы воскресенье было 7-м днем);
  3. удаление последнего символа (непонятного, типа возврат каретки) из переменных;
  4. на WeekInMonth забил (потому что воскресенье по их стандартам считается началом недели).

gora 15-04-2009 15:26 1094757

Цитата:

Цитата ShaddyR
ОС 2003R2_SP2_Ru
...
мож, таки не помешали бы эти самые ГоуТы ? »

Я не говорил, что они лишние, я спросил зачем они. На ХР у меня работает нормально, а 2003 не пользуюсь и проверить не могу, возможно там какие то особенности в cmd. Может там значки $ обязательны в метках!? :dont-know
Petya V4sechkin, красиво! :) :up

Petya V4sechkin 15-04-2009 15:40 1094769

Цитата:

Цитата gora
2003 не пользуюсь и проверить не могу, возможно там какие то особенности в cmd.

Там WMIC выводит пустую строку в конце.
Бороться можно разными способами: либо вариант amel27 (присвоить значение и сразу выход из цикла через GoTo), либо опцией /Value (чтобы выводилось в формате свойство=значение), а также каналом через Find (чтобы исключить пустые строки вообще).

amel27 16-04-2009 06:11 1095383

- Без Value можно за раз несколько значений (порядок переменных WMIC ставит свой);
- имя выходной переменной может быть произвольным;
- можно обойтись и без GoTo:
Код:

@Echo Off

For /F "Tokens=1,2 Skip=1" %%i In ('WMIC Path Win32_LocalTime Get Month^,Year') Do If Not "%%j"=="" Set $Month=%%i&Set $Year=%%j
For /F "Tokens=%$Month% Delims=," %%i In ("Январь,Февраль,Март,Апрель,Май,Июнь,Июль,Август,Сентябрь,Октябрь,Ноябрь,Декабрь") Do Set $MonthName=%%i

Set /A $Season = ($Month-$Month/12*12)/3+1
Set /A $MonthInSeason = $Month-$Month/12*12-(%$Season%-1)*3+1
For /F "Tokens=%$Season% Delims=," %%i In ("Зимы,Весны,Лета,Осени") Do Set $SeasonGenitive=%%i

Echo На дворе %$MonthName% - %$MonthInSeason%-й месяц %$SeasonGenitive%

Petya V4sechkin, для бэкапов неважно что считать началом недели, главное период соблюсти

Цитата:

Цитата gora
Может там значки $ обязательны в метках!? »

мне так удобней отслеживать переменные по тексту батника, aka в AutoIT и PowerShell

decadent 02-10-2010 21:50 1509890

Из под "Администратора" всё отлично работает, а вот из под "Оператора архива" пишет:
Цитата:

Ошибка при регистрации mof-файлов.
Использовать WMIC.EXE могут только администраторы.
Причина:Ошибка Win32: Отказано в доступе.
Подскажите наиболее изящный выход из положения?

Попробовал другой скрипт (подсмотренный на ixbt):
Код:

@echo off
echo.>"%TEMP%\~.ddf"
makecab /D RptFileName="%TEMP%\~.rpt"  /D InfFileName="%TEMP%\~.inf" -f "%TEMP%\~.ddf">nul
for /f "tokens=3" %%a in ('type "%TEMP%\~.rpt"') do if not defined weekday set "weekday=%%a"
echo %weekday%
del /q "%TEMP%\~.*"
pause

igor_andreev (c)

Когда вхожу локально от имени оператора архива и запускаю - работает.
А когда запускаю через планировщик .cmd файл от того же пользователя - не работает.

amel27 03-10-2010 06:52 1510064

Цитата:

Цитата decadent
Из под "Администратора" всё отлично работает, а вот из под "Оператора архива" пишет »

права админа требуются только один раз - при первом запуске WMIC... это можно сделать политикой, однократно перед клонированием образа ОС и т.п.

Цитата:

Цитата decadent
Когда вхожу локально от имени оператора архива и запускаю - работает.
А когда запускаю через планировщик .cmd файл от того же пользователя - не работает. »

в таком виде он и не будет работать, т.к. ничего не делает кроме вывода сообщения на консоль, планировщик же выполняет скрипты в скрытом окне

могу еще предложить чистый CMD метод, с использованием ф-ции :DateToWeek
читать дальше »
Код:

@echo off

set yy=2010
set mm=10
set dd=3

call :DateToWeek %yy% %mm% %dd% yn cw dw
for /f "tokens=%dw%" %%i in ("понедельник вторник среда четверг пятница суббота воскресенье") Do Set DayOfWeek=%%i
echo %DayOfWeek%& pause>nul
exit /b

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:DateToWeek %yy% %mm% %dd% yn cw dw
::
:: By:  Ritchie Lawrence, Updated 2002-11-20. Version 1.1
::
:: Func: Returns an ISO 8601 Week date from a calendar date.
::      For NT4/2000/XP/2003.
::
:: Args: %1 year component to be converted, 2 or 4 digits (by val)
::      %2 month component to be converted, leading zero ok (by val)
::      %3 day of month to be converted, leading zero ok (by val)
::      %4 var to receive year, 4 digits (by ref)
::      %5 var to receive calendar week, 2 digits, 01 to 53 (by ref)
::      %6 var to receive day of week, 1 digit, 1 to 7 (by ref)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
set yy=%1&set mm=%2&set dd=%3
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,Jd=153*m+2
set /a Jd=Jd/5+dd+y*365+y/4-y/100+y/400-32045
set /a y=yy+4798,Jp=y*365+y/4-y/100+y/400-31738,t=Jp+3,Jp=t-t%%7
set /a y=yy+4799,Jt=y*365+y/4-y/100+y/400-31738,t=Jt+3,Jt=t-t%%7
set /a y=yy+4800,Jn=y*365+y/4-y/100+y/400-31738,t=Jn+3,Jn=t-t%%7
set /a Jr=%Jp%,yn=yy-1,yn+=Jd/Jt,yn+=Jd/Jn
if %Jd% GEQ %Jn% (set /a Jr=%Jn%) else (if %Jd% GEQ %Jt% set /a Jr=%Jt%)
set /a diff=Jd-Jr,cw=diff/7+1,wd=diff%%7,wd+=1
if %cw% LSS 10 set cw=0%cw%
endlocal&set %4=%yn%&set %5=%cw%&set %6=%wd%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


decadent 03-10-2010 10:37 1510116

Похоже, что проблема была в другом.
Я изначально пошел по неверному пути, когда у меня возникла проблема с запуском задания из планировщика от имени пользователя, входящего в группу "Операторы архива". Проблема была в том, что когда я входил локально от имени этого пользователя и запускал .cmd файл всё нормально работало, а при запуске того же файла через планировщик, ругалось на отсутствие прав.
Воспользовался неправильным советом http://forum.ixbt.com/topic.cgi?id=7:35541#11 и скопировал файл cmd.exe в папку с батниками и запускал оттуда, а надо было всего лишь права на запуск для cmd.exe прописать...

Вот скрипт, который всё-таки заработал от Оператора архива:
Код:

@echo off
echo %date%
set /a y=%date:~6,4%&set /a m=1%date:~3,2%-100&set /a d=1%date:~0,2%-100
set /a i=(%y%-1901)*365 + (%y%-1901)/4 + %d% + (!(%y% %% 4))*(!((%m%-3)^&16))
set /a i=(%i%+(%m%-1)*30+2*(!((%m%-7)^&16))-1+((65611044^>^>(2*%m%))^&3))%%7+1
for /f "tokens=%i% delims=/" %%a in ('
echo/Monday/Tuesday/Wednesday/Thursday/Friday/Saturday/Sunday') do set "w=%%a"
for /f "tokens=%m% delims=/" %%a in ('
ECHO/January/February/March/April/May/June/July/August/September/October/November/December') do set "mmm=%%a"

C:\WINDOWS\system32\ntbackup.exe backup \\Fileserver\test /v:yes /m normal /j "FULL backup test - every %w%..." /l:s /f "\\Server\backup$\test-%w%.bkf"
"C:\Program Files\7-Zip\7z.exe" a \\Server\Backup$\test-%w%.7z -test -mhe -ssw \\Server\backup$\test-%w%.bkf
del \\Server\backup$\test-%w%.bkf

P.S: а последний способ через :DateToWeek предложенный amel27 что-то работать не захотел, ну да и ладно...

antoniospb 28-01-2011 14:49 1599212

Добрый день!
Подскажите, как получить переменную Неделя года?

да и где можно почитать про WMIC Path Win32_LocalTime?

Vadikan 28-01-2011 15:31 1599243

Цитата:

Цитата antoniospb
Подскажите, как получить переменную Неделя года? »

В PowerShell
Код:

get-Date -uformat %W
Это самый простой и короткий способ. Остальные тут http://www.robvanderwoude.com/powershellexamples.php#W

Цитата:

Цитата antoniospb
да и где можно почитать про WMIC Path Win32_LocalTime? »

В MSDN, конечно... Win32_LocalTime Class (Windows)

antoniospb 28-01-2011 21:03 1599449

Vadikan, спасибо)


Время: 09:43.

Время: 09:43.
© OSzone.net 2001-