Компьютерный форум 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=212216)

white155 29-07-2011 16:41 1722355

Как создать проверку в программе по времени создания файла
 
Как создать проверку в программе по времени создания файла
Если дата создания одного самого позднего файла в папке больше 7 дней, то выполнять определённое действие

SendMessage 31-07-2011 09:07 1723100

Код:

@set @x=0/*
@echo off

set "SFolder=z:\folder\"

set "n=n"&for /f "tokens=*" %%a in ('dir /a-d/o-d/b "%SFolder%"') do (
  set "n="&&set "file=%SFolder:\=\\%%%a"
)
for /f %%a in ('cscript /nologo /e:javascript "%0" "%file%"') do set "DateDiff=%%a"

:: здесь блок Ваших действий
if %DateDiff% gtr 7 echo OLD FILE
pause>nul
:: конец блока

goto:eof
*/
WScript.Echo(Math.round((new Date()-new Date(WScript.CreateObject("Scripting.FileSystemObject").GetFile(WScript.Arguments.Item(0)).DateCreated))/86400000));

Если не принципиально, то лучше использовать VBS. В соседней теме.

amel27 01-08-2011 12:52 1723857

Код:

@echo off
SetLocal EnableDelayedExpansion

pushd "C:\TEST" && ( for /f "delims=" %%a in ('dir/b/a-d/od') do set "FIL=%%~ta"
 popd
 call:JDate "%date%" JD.NOW
 call:JDate "!FIL!"  JD.FIL
 set/a "JD.SUB=JD.NOW-JD.FIL"
 if !JD.SUB! gtr 7 (
  Echo Расхождение с последним файлом составило !JD.SUB! дней.
  Echo Нужно выполнить определённое действие.
))
Exit/B

:JDate  --  Date JDateVar
 SetLocal EnableDelayedExpansion
 for /f "skip=1 tokens=2-4 delims=(-)" %%a in ('"echo:|date"') do (for %%a in (yy mm dd гг мм дд) do set "%%a="
  for /f "tokens=1-3 delims=/.- " %%A in ("%~1") do set "%%a=%%A"& set "%%b=%%B"& set "%%c=%%C"
  for /f "tokens=1-3" %%x in ("!yy!!гг! !mm!!мм! !dd!!дд!") do set "$y=%%x"& set "$m=%%y"& set "$d=%%z"
  set/a "$y=10000!$y! %%10000,$m=100!$m! %% 100,$d=100!$d! %% 100"
  set/a "JD=$d-32075+1461*($y+4800+($m-14)/12)/4+367*($m-2-($m-14)/12*12)/12-3*(($y+4900+($m-14)/12)/100)/4")
 EndLocal& set "%~2=%JD%"
GoTo:EOF



Время: 21:25.

Время: 21:25.
© OSzone.net 2001-