OlegStarov |
21-04-2009 11:06 1099777 |
Проверить наличие файла с текущей датой.
Добрый день.
Если не сложно помогите написать скрипт.
Суть в следующем, каждое утро в папку C:\result\ падает файл с названием result_теукущая_дата.txt (например: result_21.04.09.txt) Нужно написать скрипт который выведет на экран сообщение что файл существует или не верен, или вообще отсутствует, но проверять непосредственно с сегодняшней датой.
Спасибо.
|
Petya V4sechkin |
21-04-2009 11:32 1099798 |
OlegStarov, по мотивам тем:
[решено] Переменная Дня недели
[решено] Команды в Win (date /T). Выбор формата даты
Можно как-то так:
Код:
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
For /F "Tokens=1* Delims==" %%i In ('WMIC Path Win32_LocalTime Get Day^, Month^, Year /Value ^| Find "="') Do (
Set V=%%j
Set $%%i=!V:~0,-1!
)
If %$Day% Lss 10 Set $Day=0%$Day%
If %$Month% Lss 10 Set $Month=0%$Month%
Set $DateF=%$Day%.%$Month%.%$Year:~-2%
If Exist result_%$DateF%.txt (
Echo Файл существует.
) Else (
Echo Файл отсутствует.
)
|
еще вариант - с другим WMI объектом (для XP и выше):
Код:
@Echo Off
For /F "Tokens=1 Delims=.+-" %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set DateTime=%%i
If Exist Result_%DateTime:~6,-6%.%DateTime:~4,-8%.%DateTime:~2,-10%.txt (
Echo Файл существует !
) Else (
Echo Файл отсутствует!
)
...а что значит "неверен"? :dont-know
|
Цитата:
Цитата amel27
а что значит "неверен"? »
|
Может имелось ввиду это:
Код:
@Echo Off
For /F "Tokens=1 Delims=.+-" %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set DateTime=%%i
If Exist Result_%DateTime:~6,-6%.%DateTime:~4,-8%.%DateTime:~2,-10%.txt (
Echo Файл существует !
) Else (
If Exist Result_*.txt (
Echo Файл "неверен", дата не совпадает с текущей!
) Else (
Echo Файл отсутствует!
)
)
;)
|
OlegStarov |
21-04-2009 12:11 1099846 |
Парни спасибо. Работает.
Ссылки уже в закладках.
Удачи.
|
Время: 12:46.
© OSzone.net 2001-