How do I copy recent folder/files from a network drive using a batch file?

2

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

user158353

Posted 2012-09-14T16:01:01.250

Reputation: 21

Which question are you referring to? Did you already ask a similar question? – RedGrittyBrick – 2012-09-14T16:10:05.720

Do you get any error from xcopy? – Nifle – 2012-09-14T17:21:48.187

Note that you don't need /s if you have /e. Does no harm, though. – Isaac Rabinovitch – 2012-09-14T17:31:05.137

have you tested the xcopy statement by itself to see if it works? – Keltari – 2012-09-14T17:39:06.440

Can you give us the exact folder name in order to help format the command correctly? – CharlieRB – 2012-09-14T17:59:33.910

Answers

2

%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.

WhoIsRich

Posted 2012-09-14T16:01:01.250

Reputation: 464

1

have you considered something like the following? (because it's what I did for my same problem)

set folder=%DATE% 
mkdir "%folder%" 
cd "%folder%" 
powershell.exe "copy-item -Path \\server\directory1\*.* -Destination ."

Now keep in mind, this solution will only work on Windows 7 machines, although it can work on WinXP as well if you install "powershell"

What's nice about this method is it doesn't require messing with any shares, the only downside is needing either Win7 on the machine it's running from, or installing powershell.

I just know for me this worked like a charm, good luck to you!

(also note that I'm lazy and just changed the current directory to the date folder, so when I tell it to copy, I just copy to the current location which is why the destination is a period, you could just as easily change the period to your local path)

Jared

Posted 2012-09-14T16:01:01.250

Reputation: 111