Home / Microsoft / Microsoft DOS / COMPARE DATE MODIFIED WITH CURRENT DATE
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] 2  All - (Bottom) Print
Author Topic: COMPARE DATE MODIFIED WITH CURRENT DATE  (Read 13413 times)
MISS VIP
Topic Starter
Rookie



Posts: 11


« on: July 01, 2008, 02:46:45 AM »

HI ,  :)

IM WRITING a batch file this batch file should compare the date modifid of a file with the current date if the current date is less than 15 min of the file date then copy this file to another directory..

PLEASE HELP and thanks in advanced ...
IP logged
blastman
Hopeful



Posts: 303


« Reply #1 on: July 01, 2008, 02:49:49 AM »

what have you got so far???
IP logged


Blastman, you are the man. Thank You Very Much!!!!!!!!!


MISS VIP
Topic Starter
Rookie



Posts: 11


« Reply #2 on: July 01, 2008, 02:57:36 AM »

@ECHO OFF
CLS

:START
IF "%1" == "" S:\AISHA\MSG *.TXT  /* SEARCH FOR TEXT FILE ONLY
GOTO SER_DATE

SER_DATE
/* COMPARE DATE MODIFIED WITH CURRENT DATE IF SYS<=15 MIN THEN GOTO COPY_FILE */  


==THIS PART IS MISSING == 




GOTO COPY_FILE
/* COPY FROM S:\MSG.TXT TO C:\IN */

COPY_FILE
IF "%1" == "" XCOPY S:\HII\MSG.TXT   
IF NOT "%1" == "" XCOPY S:\%1       
ECHO.                             
C:\IN


REM Execute the MS-DOS dir command ever 60 MIN.
dir
SLEEP 60
GOTO START
IP logged
Dias de verano
Guest
« Reply #3 on: July 01, 2008, 03:28:45 AM »

/* COMPARE DATE MODIFIED WITH CURRENT DATE IF SYS<=15 MIN THEN GOTO COPY_FILE */

You don't do comments like this. They start with REM.
IP logged
MISS VIP
Topic Starter
Rookie



Posts: 11


« Reply #4 on: July 01, 2008, 03:42:17 AM »

THANKS DIAS  :)

ANY HINT FOR MY MISSING PART ?
IP logged
MISS VIP
Topic Starter
Rookie



Posts: 11


« Reply #5 on: July 01, 2008, 03:52:52 AM »

I CORRECT IT :)

@ECHO OFF
CLS

:START
IF "%1" == "" S:\AISHA\MSG *.TXT  /* SEARCH FOR TEXT FILE ONLY
GOTO SER_DATE

SER_DATE
REM COMPARE DATE MODIFIED WITH CURRENT DATE IF SYS<=15 MIN THEN GOTO COPY_FILE
 :'(





GOTO COPY_FILE
REM COPY FROM S:\MSG.TXT TO C:\IN

COPY_FILE
IF "%1" == "" XCOPY S:\HII\MSG.TXT   
IF NOT "%1" == "" XCOPY S:\%1       
ECHO.                             
C:\IN
GOTO SLP


REM Execute the MS-DOS dir command ever 60 MIN.

SLP
SLEEP 60
GOTO START
IP logged
MISS VIP
Topic Starter
Rookie



Posts: 11


« Reply #6 on: July 01, 2008, 04:33:00 AM »

I FOUND THIS CODE

Code: [Select]
DIR %1 ¦ FIND /I "%1" > ~ISMODIF.TMP
    ECHO.>> ~ISMODIF.TMP
    TYPE ~ISMODIF.TMP ¦ TIME ¦ FIND /I "%1" > ~ISMODIF.BAT
    ECHO SET CHKDATE=%%4> ENTER.BAT
    CALL ~ISMODIF.BAT
    DIR ~ISMODIF.BAT ¦ FIND /I "~ISMODIF.BAT" > ~ISMODIF.TMP
    ECHO.>> ~ISMODIF.TMP
    TYPE ~ISMODIF.TMP ¦ TIME ¦ FIND /I "~ISMODIF.BAT" > ~ISMODIF.BAT
    ECHO SET NOWDATE=%%4> ENTER.BAT
    CALL ~ISMODIF.BAT
    IF "%NOWDATE%"=="%CHKDATE%" ECHO %1 was created or modified today

IS THIS CODE WILL MEET MY REQUIRMENT WHICH IS COMPARE DATE MODIFIED WITH CURRENT DATE IF SYS<=15 MIN THEN COPY_FILE  TO DIFFERENT DIRECTORY ???
IP logged
ghostdog74
Mentor



Thanked: 26
Posts: 1,511


« Reply #7 on: July 01, 2008, 07:22:11 AM »

there are abundance of tools out there you can use. the unix Find command , which is ported to windows makes this kind of task seem trivial.
Otherwise, here's a vbscript
Code: [Select]

Set objFS = CreateObject("Scripting.FileSystemObject")
strFolder = "C:\test"
dstFolder = "c:\destination"
Set objFolder = objFSO.GetFolder(strFolder)
For Each strFiles In objFolder.Files
If DateDiff("n",strFiles.DateLastModified,Now) > 15 Then
WScript.Echo strFiles.Name
objFS.MoveFile strFiles.Name, dstFolder & "\" & strFiles.Name
End If
Next
IP logged

Dias de verano
Guest
« Reply #8 on: July 01, 2008, 09:54:56 AM »

Miss VIP, is there a Caps Lock key on your keyboard?
IP logged
MISS VIP
Topic Starter
Rookie



Posts: 11


« Reply #9 on: July 01, 2008, 10:54:49 PM »

Thankx "ghostdog74 "  :) i'll try to test ur code ...

Dias de verano : NO THIER IS NO CAPS LOCK  :P hehehehehehe
IP logged
MISS VIP
Topic Starter
Rookie



Posts: 11


« Reply #10 on: July 03, 2008, 04:17:59 AM »

ghostdog74 , how can i attch your code and put it in my code ??

i could not be able to add what u wrote in my code !!

this is my code and in red is what you wrote :

Code: [Select]
@ECHO OFF
CLS

:START
IF "%1" == "" S:\AISHA\MSG *.TXT  /* SEARCH FOR TEXT FILE ONLY
GOTO SER_DATE

SER_DATE
REM COMPARE DATE MODIFIED WITH CURRENT DATE IF SYS<=15 MIN THEN GOTO COPY_FILE



[color=red]Set objFS = CreateObject("Scripting.FileSystemObject")
strFolder = "C:\test"
dstFolder = "c:\destination"
Set objFolder = objFSO.GetFolder(strFolder)
For Each strFiles In objFolder.Files
If DateDiff("n",strFiles.DateLastModified,Now) > 15 Then
WScript.Echo strFiles.Name
objFS.MoveFile strFiles.Name, dstFolder & "\" & strFiles.Name
End If
Next[/color]



GOTO COPY_FILE
REM COPY FROM S:\MSG.TXT TO C:\IN

COPY_FILE
IF "%1" == "" XCOPY S:\HII\MSG.TXT   
IF NOT "%1" == "" XCOPY S:\%1       
ECHO.                             
C:\IN
GOTO SLP


REM Execute the MS-DOS dir command ever 60 MIN.

SLP
SLEEP 60
GOTO START




thanks in advance ....
IP logged
ghostdog74
Mentor



Thanked: 26
Posts: 1,511


« Reply #11 on: July 03, 2008, 05:47:12 AM »

it is a vbscript.
save the code as script.vbs and on command line just type

Code: [Select]
C:\test> cscript /nologo script.vbs
assuming your script is stored in c:\test
IP logged

MISS VIP
Topic Starter
Rookie



Posts: 11


« Reply #12 on: July 06, 2008, 09:48:08 PM »

thankx "ghostdog74 " for ur effort --

i got some error  :'(


my batch file code is like that :

Code: [Select]
@ECHO OFF
CLS

:START
REM SEARCH FOR TEXT FILE ONLY

IF "%1" == "" S:\AISHA\MSG *.TXT   GOTO SER_DATE

SER_DATE
REM COMPARE DATE MODIFIED WITH CURRENT DATE IF SYS<=15 MIN THEN GOTO COPY_FILE

REM it will go to the vbs file

C:\IN> cscript /nologo script.vbs



REM Execute the MS-DOS dir command ever 60 MIN.

SLP
SLEEP 60
GOTO START

and my vbs file is like that :


Code: [Select]
Set objFS = CreateObject("Scripting.FileSystemObject")
strFolder = " S:\AISHA\MSG *.TXT"
dstFolder = "C:\IN"
Set objFolder = objFSO.GetFolder(strFolder)
For Each strFiles In objFolder.Files
If DateDiff("n",strFiles.DateLastModified,Now) > 15 Then
WScript.Echo strFiles.Name
objFS.MoveFile j:\msg.txt, dstFolder & "\" & strFiles.Name
End If
Next
goto copy_file


where is the error ???
IP logged
ghostdog74
Mentor



Thanked: 26
Posts: 1,511


« Reply #13 on: July 07, 2008, 05:36:12 AM »

i don't know , you tell me.
IP logged

macdad-
Expert



Thanked: 39
Posts: 2,520


LoneWolf's Circuits
« Reply #14 on: July 07, 2008, 06:23:21 AM »

ok you need to learn how to program in batch code, we're not your servants, we can help u but you have to think on your own.

where is the error ???
open up VB express and debug it, it will tell you the errors and on wat line they are.

and

look at the attachment

noticed how i used all lower case without caps.

[recovering disk space -- attachment deleted by admin]
IP logged

If you dont know DOS, you dont know Windows...

Thats why Bill Gates created the Windows NT Family.
Pages: [1] 2  All - (Top) Print 
Home / Microsoft / Microsoft DOS / COMPARE DATE MODIFIED WITH CURRENT DATE « previous next »
 


Login with username, password and session length

Old Forum Search | Forum Rules
Copyright © 2010 Computer Hope ® All rights reserved.
Powered by SMF 2.0 RC3 | SMF © 2006–2010, Simple Machines LLC
Page created in 0.137 seconds with 20 queries.