Welcome guest. Before posting on our computer help forum, you must register. Click here it's easy and free.

Author Topic: Yesterdays Date  (Read 4132 times)

0 Members and 1 Guest are viewing this topic.

dearnr

  • Guest
Yesterdays Date
« on: September 26, 2005, 04:00:32 AM »
Firstly thanks for looking  ;D

I have a batchfile that does a backup to a different server in a folder with yesterdays date + b so tonights will be :
25092005b

then i run a processing batch which works file

Then i do another back up which copies the files after the batch has finished and calls it todays date + a

26092005a

the problem I have is I dont know how to get yesterdays date (today - 1).

My batch file looks like this:



for /f "tokens=1-3 delims=/ " %%a in ('DATE /T') do set zdatea=%%a%%b%%c

Rem lux Back up - before the batch
REM I need something here to take one day away
md x:\backups\lX\%zdatea%c
Xcopy L:\Arev\LfdatlX x:\backups\lX\%zdatea%c


cls
l:
cd \arev
arev LAL /x m4096

for /f "tokens=1-3 delims=/ " %%a in ('DATE /T') do set zdateb=%%a%%b%%c

Rem lux Back up - ater the batch
md x:\backups\lX\%zdateb%A
Xcopy L:\Arev\LfdatlX x:\backups\lX\%zdateb%a

cls

Many thanks for your help

Richard

dearnr

  • Guest
Re: Yesterdays Date
« Reply #1 on: September 26, 2005, 05:10:21 AM »
Sorry I did do a search but don't know what I did wrong:

http://www.computerhope.com/cgi-bin/yabb/YaBB.cgi?board=2;action=display;num=1124879412

I dont actually think that this helps me though so still need help!

thanks
« Last Edit: September 26, 2005, 05:17:52 AM by dearnr »

vibhor_agarwalin



    Adviser

    Re: Yesterdays Date
    « Reply #2 on: September 27, 2005, 12:25:14 AM »
    Some hints needed:

    What is arev and b & c variables.
    Vibhor Kumar Agarwal

    dearnr

    • Guest
    Re: Yesterdays Date
    « Reply #3 on: September 27, 2005, 01:29:48 AM »
    sorry tried to be a bit more descriptive

    for /f "tokens=1-3 delims=/ " %%a in ('DATE /T') do set zdatea=%%a%%b%%c

    Rem lux Back up - before the batch
    REM I need something here to take one day away
    REM as the backup happens at 2:00am so if I use
    REM date then is actually the next day.

    md x:\backups\lX\%zdatea%c

    REM above line makes a directory in following format:
    REM X:\backups\lx\260905c

    Xcopy L:\Arev\LfdatlX x:\backups\lX\%zdatea%c
    Rem Above copies files in directory to this back up server

    REM ************************************
    REM This runs another batch.
    REM all this works fine
    REM ************************************
    cls
    l:
    cd \arev
    arev LAL /x m4096
    REM ************************************


    for /f "tokens=1-3 delims=/ " %%a in ('DATE /T') do set zdateb=%%a%%b%%c

    Rem lux Back up - ater the batch
    REM Makes a directory in following format
    REM X:\backups\lx\260905a
    REM
    md x:\backups\lX\%zdateb%A
    Xcopy L:\Arev\LfdatlX x:\backups\lX\%zdateb%a

    cls


    uli_glueck

    • Guest
    Re: Yesterdays Date
    « Reply #4 on: September 27, 2005, 03:57:42 AM »

    Calculate for example:

    Set /a day=27-1


    This should work for you: (I assume %%a is the day)

    for /f "tokens=1-3 delims=/ " %%a in ('DATE /T') do (

    set /a day=%%a-1
    set mj=%%b%%c
    set zdatea=%day%%mj%
    )

    vibhor_agarwalin



      Adviser

      Re: Yesterdays Date
      « Reply #5 on: September 28, 2005, 12:05:18 AM »
      I think i have leanrnt somehting here,

      uli those b and c variables come from the partition due to the delims.

      Am i right?
      Vibhor Kumar Agarwal

      dearnr

      • Guest
      Re: Yesterdays Date
      « Reply #6 on: September 28, 2005, 02:29:30 AM »
      sorry but Im obviously not doing something right.

      The variable zdatea seems to be blank so no folder is created.

      Any ideas?

      uli_glueck

      • Guest
      Re: Yesterdays Date
      « Reply #7 on: September 28, 2005, 03:01:52 AM »
      mh.
      Please tell what exactly date /t gives you on the screen. Then I will do it for you.

      I get Fr 28.09.2005

      uli

      dearnr

      • Guest
      Re: Yesterdays Date
      « Reply #8 on: September 28, 2005, 03:04:33 AM »
      thanks.

      I get 28/09/2005


      dearnr

      • Guest
      Re: Yesterdays Date
      « Reply #9 on: September 29, 2005, 02:05:49 AM »
      sorted now.

      I do the following:


      Set fso = Wscript.CreateObject("Scripting.FileSystemObject")
      dtmYesterday = date() - 1
      dtmYesterday = Replace(dtmYesterday, "/", "")
      dtmYesterday = Replace(dtmYesterday, "2005", "2005Before_Batch_AUTO")
      Set f = fso.CreateFolder ("X:\Backups\Lx\" & dtmYesterday)

      dim filesys
      set filesys=CreateObject("Scripting.FileSystemObject")
      If filesys.FolderExists("L:\Arev\Lfdatlx") Then
        filesys.CopyFolder "L:\Arev\Lfdatlx", "X:\Backups\Lx\" & dtmYesterday
      End If

      works perfectly so thanks everyone for your help

      uli_glueck

      • Guest
      Re: Yesterdays Date
      « Reply #10 on: September 29, 2005, 02:46:09 AM »
      Hi,

      sorry that I am a bit late, we have beer festival in munich at the moment. :-)

      This should do the job:

      for /f "tokens=* delims=/ " %%a in ('date /t') do set date=%%a

      set day=%date:~,2%
      set /a lday=%day%-1
      set month=%date:~3,2%
      set year=%date:~6,4%

      echo %lday%%month%%year%

      There is only a little bug, if it is the first of a month.
      Not every month has the same number of days....
      That makes it a bit tricky.
      But would be interesting to do in a batch file. Needs a bit time. :-)

      greetings
      uli
      « Last Edit: September 29, 2005, 02:50:29 AM by uli_glueck »