Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

calculate the seconds between the modification time of a file and the current time

Posted on 2011-03-24
8
488 Views
Last Modified: 2012-05-11
Hi i'm making a batch file to check the current time and the modification time of a file.
Then I want to extract the modification time of the current time, and this is less then 1 minute it needs to exit the program.

I think the code needs to be like this
MODIFICATION=
CURRENT=
DIFFERENCE=CURRENT - MODIFICATION

if difference < 1 minute (
exit
) else (
cd C:\wamp\bin\mysql\mysql5.5.8\bin\
mysqldump -u root test > Databases/test.sql
copy C:\wamp\bin\mysql\mysql5.5.8\bin\Databases\test.sql C:\Users\Maikel\Desktop\GITstage\PDFTool
cd C:\Users\Maikel\Desktop\GITstage\PDFTool
git add test.sql
git commit -m "Updating database"
)
exit

Open in new window


The code after the else is correct, but I don't know how I can calculate the difference between the modification time and the current time.
I know how i can check the modification time of "test.sql". It's done by this
 
@echo off
set "file=C:\Users\Maikel\Desktop\GITstage\PDFTool\test.sql"
for /d %%a in ("%file%") do echo %%~ta

Open in new window


If somebody can help me out, I would appreciate it
0
Comment
Question by:Silencer001
  • 4
  • 4
8 Comments
 
LVL 43

Expert Comment

by:Steve Knight
ID: 35205507
Have a look at this script of mine here:

http://scripts.dragon-it.co.uk/links/batch-files-older-than

This is for 20 mins, but change the 20 to 1...

On the way out shortly but if you want help making that work please ask

Steve
0
 
LVL 43

Accepted Solution

by:
Steve Knight earned 125 total points
ID: 35205526
Bit more:
@Echo off
for /f %%a in ('cscript //nologo checkfiletime.vbs test.sql') do set check=%%a
if not "%check%"=="OK" (
  echo File is now %check% minutes old
  echo do your stuff here
)


REM Save this as Checkfiletime.vbs
DIM filename, filesys, file1, timediff

If Wscript.Arguments.Count = 0 Then
  Wscript.echo "9999 Error - no file specified"
ELSE
  Set filesys = CreateObject("Scripting.FileSystemObject")
  Set file1 = filesys.GetFile(wscript.arguments(0))
  timediff = int((now - file1.DateCreated) * 60 * 24)
 
  'Send age in minutes back to console:
  if timediff >=1 then
    wscript.echo timediff
  else
    wscript.echo "OK"
  end if

End if
0
 

Author Comment

by:Silencer001
ID: 35205571
Looks nice, i only need to adjust it, so he goes into this folder C:\Users\Maikel\Desktop\GITstage\PDFTool

And needs to check the test.sql file in that folder. If you can help me with adjusting your script that it does that, it would be really great.

Silencer001
0
NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

 

Author Comment

by:Silencer001
ID: 35205614
Didn't refreshed, so didn't saw your second comment.
Thanks for the quick response.

Works perfectly, now i just need to do the if structure. I'll leave this open, so if I need extra help I can always ask it directly, when I'm finished with the if structure and it works, I accept your solution and award points :)
0
 
LVL 43

Expert Comment

by:Steve Knight
ID: 35205996
no problem, just shout if you need more, will be back later.

Steve
0
 

Author Comment

by:Silencer001
ID: 35206047
Steve you're the best ;-)

It works like a charm ;-)
The only thing I changed was
 
timediff = int((now - file1.DateCreated) * 60 * 24)

Open in new window

to
 
timediff = int((now - file1.DateLastModified) * 60 * 24)

Open in new window


Thanks for the quick and 100% helpfull answer ;-)
0
 

Author Closing Comment

by:Silencer001
ID: 35206053
Worked perfect.

Looks at the creation date of the file and extracts this from the date of today.
0
 
LVL 43

Expert Comment

by:Steve Knight
ID: 35206828
Would have helped if I'd read it properly but at least we got there!  No problem.

Steve
0

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

"Migrate" an SMTP relay receive connector to a new server using info from an old server.
A brief introduction to what I consider to be the best editor for PowerShell.
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

838 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question