|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - CMD проверка создания файла за (сегодня вчера) с созданием флагового файла |
|
CMD/BAT - CMD проверка создания файла за (сегодня вчера) с созданием флагового файла
|
Новый участник Сообщения: 5 |
Добрый день.
Прошу помощи в написания скрипта. В папке c:\temp находятся файлы с именами SCAN_1_*(далее могут идти различные символы),именами SCAN_2_*(далее могут идти различные символы),именами SCAN_3_*(далее могут идти различные символы). Необходимо проверить что файлы с этими именами создаются текущим(вчерашним(актуальность 24 часа)) днем. если все ок то формируются 3 файла 1.txt,2.txt,3.txt с информацией внутри: 1- все ок, 0- файл создан ранее 25часов что я получил: @echo off :: Поиск самого молодого файла. for /F "delims=" %%t in ('dir /b /od "c:\temp\SCAN_1_*.pdf"') do set Youngest=%%t SetLocal ::путь и имя файла set flag="c:\temp\%Youngest%" del c:\temp\*.txt echo %Youngest% > c:\temp\file_name.txt if exist "%flag%" for %%A in ("%flag%") do echo %%~tA |>nul find "%date%" || >nul echo 0 > c:\temp\1.txt ::но файл создается в любом случае... где то тут ошибка.. уж 3 день маюсь не могу понять. if exist "%flag%" for %%A in ("%flag%") do echo %%~tA |>nul find "%date%" || >nul echo 0 > c:\temp\1.txt но файл создается в любом случае... |
|
Отправлено: 12:41, 12-03-2015 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Полный код (для обработки всех трёх групп файлов сразу):
@echo off& pushd "C:\temp" >"file_name.txt" (for /l %%i in (1 1 3) do @for /f "tokens=1-3*" %%j in ( 'for /f "skip=4 delims=" %%n in ('dir/a-d/-c/o-d/tc "SCAN_%%i_*.pdf"'^) do @echo %%n^& exit/b' ) do @echo %%m& for /f %%o in ( 'mshta "vbscript:CreateObject("Scripting.FileSystemObject").GetStandardStream(1).Write(DateDiff("H","%%j"&Chr(32)&"%%k",Now))&Close()"' ) do @>"%%i.txt" (if %%o lss 25 (echo 0) else (echo 1))) popd& exit/b 0 . Удалять имеющиеся текстовые файлы не обязательно, так как они перезаписываются. |
Отправлено: 04:50, 13-03-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать что то не так,в папке 3 файла:
SCAN_1_8917_000 дата создания 13.03.2015 8.25 SCAN_2_8914_000 дата создания 11.03.2015 14.12 SCAN_3_8915_000 дата создания 12.03.2015 9.49 появляется файл file_name в котором: SCAN_1_8917_000.pdf SCAN_2_8914_000.pdf SCAN_3_8915_000.pdf также появляются файлы 1,2,3 .txt но в них нули, а должно быть в 1 и 3 файлы быть прописаны по единице. |
Отправлено: 08:38, 13-03-2015 | #3 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать yamixon,
1) из Вашего первого сообщения очень трудно визуально получать нужную информацию, отредактируйте его, пожалуйста, используя теги "code" (см. символ "#"), деление на абзацы и убрав дублирование уже изложенного; 2) я, очевидно, поменял местами "0" и "1", то есть соответствующая строка должна выглядеть так: ; 3) тестируйте код на оригинальной папке с файлами, а не на её копии, так как обычное копирование не может реплицировать дату создания. |
Отправлено: 14:05, 13-03-2015 | #4 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Спасибо за помощь.
есть нюанс в папке c:\temp каждый день формируется по 3 файла SCAN_(1-3)_* надо брать самый молодой файл из имеющихся и его уже проверять когда он создан (не старше 25 часов) так тоже не работает. файл 1,2,3.txt при разных комбинациях создания файла в таком варианте всегда 1 даже если файл создан 3-4 дня назад. |
|
Отправлено: 15:56, 13-03-2015 | #5 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать все в порядке, действительно были проблеммы при копировании в темповую папку.
спасибо за помощь.. |
Отправлено: 08:40, 17-03-2015 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Проверка папки на наличие файлов за сегодня | FantomasAnand | Скриптовые языки администрирования Windows | 1 | 26-02-2015 04:04 | |
CMD/BAT - Проверка времени создания файла | havenofear | Скриптовые языки администрирования Windows | 1 | 17-06-2012 01:06 | |
CMD/BAT - Скачивание файла и проверка на отличия от файла на сервере. | maslovt | Скриптовые языки администрирования Windows | 2 | 08-05-2010 19:54 | |
CMD/BAT - [решено] Помогите запустить CMD-файл из CMD-файла с параметрами | Oleg48 | Скриптовые языки администрирования Windows | 2 | 18-11-2009 11:08 | |
ThinkPad вчера и сегодня. Lenovo VS IBM | treehel | Ноутбуки | 4 | 09-11-2008 11:37 |
|