Re: For .... in loop by Pegasus
Pegasus
Wed May 14 14:35:12 PDT 2008
"zino" <zino@noemail.noemail> wrote in message
news:41472F5E-0264-45DF-B8B2-DEB51A4F5D90@microsoft.com...
>I don't know if I'm hitting the right group, if not can somebody tell me
> which group to post in.
>
>
> I need to use Eseutil utility from Microsoft Exchange sever to copy a
> large
> folder(120 gig).
> Eseutil does not accept * character, therefore I need to use it in a " for
> .... in" DOS command.
>
> the root folder to copy from contains subfolders and files and the
> subfolder
> too contains subfolders and files. (each subfolder contains multi level of
> subfolders and files with different extensions)
>
>
> I need to use something as the following :
>
> myRootFolder> for /R %I in (.) do for /D %K in ("%I") do mkdir %K
> for /F %G in (dir %K /A:-D /B) do Eseutil /Y \\server1\c$\%G
> /D\\server2\d$\%G
>
> the command above is not correct. But what I'm trying is:
> 1- loop into each folder
> 2- get the folder name and create an empty similar one on the target(has
> the
> same name)
> 3- fetch all the files under this folder
> 4- use Eseutil to copy the files one by one
>
> thanks for help
A server or a scripting group would be a better place to post
this question. As a starting point, consider this:
- The for /R construct is reported to be buggy.
- Executing such complex commands by retyping them won't
get you far. You should put them into a batch file.
Try this one:
01. @echo off
02. set Source=d:\Exchange
03. set Target=\\Server2\d$
04. set Letter=%Source:~0,2%
05.
06. dir /ad /b /s "%source%" > c:\dir.txt
07. xcopy /s /t /e "%Source%" "%Target%\"
08. for /F "delims=" %%a in ('type c:\dir.txt') do call :Sub %%a
09. del c:\dir.txt
10. goto :eof
11.
12. :Sub
13. set Dir=%*
14. call set Dir=%%Dir:%Letter%=%%
15. echo Eseutil /Y "%*\Mailbox Database.edb" /D"%Target%%Dir%Mailbox
Database.edb"
Adjust Lines #01 and #02 to suit your requirements, then run the batch
file. When you're happy with the result, activate the batch file by
removing the word "echo" in Line #15. Note that Line #07 creates the
target directory structure. No need to do a recursive directory walk!