Windows – How to copy recent folder/files from a network drive using a batch file

batch filedatewindows

My question may have answered someway or other but unfortunately I did not get the exact answer that I was looking for. Here is what I'm trying to do-

  1. create a folder on pc1, c:\temp1
  2. map a network drive that contains source folder/files – \\server1\directory1folder01...10000 ( each day system creates either just single or multiple folders but with unique time stamp
  3. copy the latest folder that was created in the PC1 i.e. c:\temp1

This is what I have written in the batch file:

+++++++++++++++++++++++++++++++++

@echo off
mkdir c:\temp1

echo mapping drive...

net use Y:\\server\directory1 /user:myusername mypassword

echo copying files/folders into c:\temp1....

xcopy Y:\ c:\temp1 /s/e/d:"%DATE%"

+++++++++++++++++++++++++++++++++

It creates the c:\temp1 and maps the drive but can't copy.
Can anyone please help me here?

Kam

Best Answer

%DATE% will give you the format MM/DD/YYYY instead of the required MM-DD-YYYY

Try this instead to get dashes instead of slashes:

UK/Europe:  /D:%DATE:~3,2%-%DATE:~0,2%-%DATE:~6,4%
USA:        /D:%DATE:~4,2%-%DATE:~7,2%-%DATE:~10,4%

As a side note, if your using Windows 7 have a look at using the 'Robocopy' /MINAGE /MAXAGE command instead, as it is usually far more reliable than xcopy, and provides a lot more options.

Related Question