yamixon
12-03-2015, 12:41
Добрый день.
Прошу помощи в написания скрипта.
В папке 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
остальные проверки на 2 файла сделать по аналоги будет не проблема.
но файл создается в любом случае...
Прошу помощи в написания скрипта.
В папке 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
остальные проверки на 2 файла сделать по аналоги будет не проблема.
но файл создается в любом случае...