Strip Files from Folders into Single Folder

I am trying to find a XCOPY or ROBOCOPY solution to Strip Files from a Folder Structure into a Single Folder.

Here follows an example.

Source Structure:
C:\MYFOLDER\STRUCTURE\AFOLDER123\AFILE.XLS
C:\MYFOLDER\STRUCTURE\BFOLDER456\BFILE.XLS
C:\MYFOLDER\STRUCTURE\CFOLDER7\CFILE.XLS
C:\MYFOLDER\STRUCTURE\DFOLDER8\DFILE.XLS
C:\MYFOLDER\STRUCTURE\EFOLDER99999999\EFILE.XLS

Destination (with how I want my files):
E:\MYFOLDER\STRUCTURE\AFILE.XLS
E:\MYFOLDER\STRUCTURE\BFILE.XLS
E:\MYFOLDER\STRUCTURE\CFILE.XLS
E:\MYFOLDER\STRUCTURE\DFILE.XLS
E:\MYFOLDER\STRUCTURE\EFILE.XLS

The above requirement appeared so straight forward when I took it on, but I have not been able to find the right XCOPY or ROBOCOPY parameters to achieve this. I would expect the solution to be some way of using a wildcard foldername to translate C:\MYFOLDER\STRUCTURE\AFOLDER123\*.XLS to C:\MYFOLDER\<WILDCARD>\AFOLDER\*.XLS so I can achieve something like this:
XCOPY C:\MYFOLDER\STRUCTURE\*\*.XLS E:\MYFOLDER\STRUCTURE\
Unfortuntately you cannot use an asterisk to wildcard a foldername as above.

Please do not suggest using a recursive folder switch such as /S, because I can assure you that the following will not produce the required result:
XCOPY /S C:\MYFOLDER\STRUCTURE\  E:\MYFOLDER\STRUCTURE\
The structure from which we need to strip the files will be reproduced with the /S recursive switch.

Any assistance in this matter will be greatly appreciated.
andrejonkerAsked:
Who is Participating?
 
zveljkovicConnect With a Mentor Commented:
I just wanted to post you a similar solution :)

FOR /R C:\MYFOLDER\STRUCTURE %%f IN (*) DO copy %%f E:\MYFOLDER\STRUCTURE
0
 
andrejonkerAuthor Commented:
Moment of clarity!!! I somehow just figured it out. Consider the following command line solution:

      c:
      cd c:\MYFOLDER\STRUCTURE\
      for /r %a in (*.xls) do xcopy "%a" e:\MYFOLDER\STRUCTURE\*.xls

If you can improve on the above, or point out a real show-stopper issue with using this as a solution, I will award the points. Else, this issue is considered resolved :-)
0
 
andrejonkerAuthor Commented:
Considering your timing - I will award you some points :-D
0
 
andrejonkerAuthor Commented:
Big oops... I did not test zveljkovic's suggestion.

I get the following error:
%%f was unexpected at this time.

I changed to %%f to %a as follows:
for /r C:\MYFOLDER\STRUCTURE %a in (*.txt) do xcopy "%a" e:\MYFOLDER\STRUCTRE\*.txt

Note the quotes around the second %a as in "%a". This is to cater for long file/folder names with spaces.
0
 
andrejonkerAuthor Commented:
The error again came up... This time when I put the above in a batch script... seems the %%f was correct after all. Seems the rule is:
 for CLI use one % and for CMD use two?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.