I thought the /s /e was redundant when I first saw it too. The xcopy docs
differ on the usage however:
>From "Help and Support Center" docs:
/s
Copies directories and subdirectories, unless they are empty. If you omit
/s, xcopy works within a single directory.
/e
Copies all subdirectories, even if they are empty. Use /e with the /s and /t
command-line options.
command line (xcopy /?)
/S Copies directories and subdirectories except empty ones.
/E Copies directories and subdirectories, including empty ones.
Same as /S /E. May be used to modify /T.
On Wed, Jul 20, 2011 at 7:49 PM, Crawford, Scott <[email protected]>wrote:
> Nice to see pushd and popd making an appearance J****
>
> ** **
>
> Few nits and questions, just to make sure I’m not missing something:****
>
> ** **
>
> **1. **The echo in front of xcopy shouldn’t be there. I’m sure it’s
> just there for troubleshooting and left as an oversight. The /s /e is
> redundant, right?****
>
> **2. **I’m not very practiced with the enhanced ~ substitution, but
> couldn’t the SET @DIR=%%~fpv line omit the p?****
>
> **3. **I think the ECHO DEST: %@DEST%\%%~pv line has an extra \***
> *
>
> **4. **I think the xcopy’s destination parameter ("%@DEST%%%~pv")needs
> to be
> "%@DEST%%%~pnv". Without it, the files get copied into the corresponding
> parent on the destination.****
>
> **5. **Is there any way to get the parentheses code blocks work from
> the command line or do they need to be inside of a .bat? I’ve tried
> stringing the commands together with &&, but met with limited success.****
>
> ** **
>
> Possible drawback to this method:****
>
> The destination path will contain the full path of the source. For
> instance, if the source root is C:\a\b\c and it contains a folder called
> Search_Term, and we wan’t the destination to be D:\, when we run the script,
> the destination will contain D:\a\b\c\Search_Term, which may not be the
> goal.****
>
> ** **
>
> In the end, I don’t think this is getting any better results the my
> original line. The 2>NUL is just hiding the failures.****
>
> ** **
>
> Thanks for the script though, it was fun to digest J****
>
> ** **
>
> *From:* Andrew S. Baker [mailto:[email protected]]
> *Sent:* Wednesday, July 20, 2011 3:06 PM
>
> *To:* NT System Admin Issues
> *Subject:* Re: file searching and copying****
>
> ** **
>
> How long are the paths?
>
>
> There are other ways to handle this, btw...
>
> ****
>
> Try the following snippet. It should handle long folders even if Windows
> complains about them****
>
> @echo off****
>
> SETLOCAL ENABLEDELAYEDEXPANSION****
>
> SET @SOURCE=%SystemDrive%****
>
> SET @DEST=D:\SomePlace****
>
> SET @FIND=PrivacIE****
>
> ****
>
> :Main****
>
> for /f "tokens=*" %%v in ('dir /ad /b /s "%@SOURCE%\*.*" 2^>NUL ^| FIND
> /I "%@FIND%"') do (****
>
> SET @DIR=%%~fpv****
>
> ECHO.****
>
> ECHO SOURCE: !@DIR! ****
>
> ECHO DEST: %@DEST%\%%~pv****
>
> PUSHD !@DIR!****
>
> echo XCOPY *.* "%@DEST%%%~pv" /S /E /R /Y****
>
> ECHO.****
>
> POPD****
>
> )****
>
> ** **
>
> ** **
>
> :ExitBatch****
>
> ENDLOCAL****
>
> ****
>
>
>
>
> ****
>
> *ASB*****
>
> *http://about.me/Andrew.S.Baker*****
>
> *Harnessing the Advantages of Technology for the SMB market…*****
>
>
>
> ****
>
> On Wed, Jul 20, 2011 at 2:24 PM, Jeff Bunting <[email protected]>
> wrote:****
>
> Thanks all. Scott's suggestion is close and at least got me pointed in the
> right direction. Some of the paths are too long for DIR which throws a
> wrench in the works, so I'm going to have to rely on windows search for now.
> ****
>
> ****
>
> Powershell, unfortunately, currently isn't an option.****
>
> ****
>
> Jeff****
>
> On Wed, Jul 20, 2011 at 12:23 PM, Andrew S. Baker <[email protected]>
> wrote:****
>
> Good one, Scott.
>
> Jeff, remember to add a % to each variable if used in a batch file, vs the
> command line.
>
>
> ****
>
> ** **
>
> *ASB*****
>
> *http://about.me/Andrew.S.Baker*****
>
> *Harnessing the Advantages of Technology for the SMB market…*****
>
>
>
> ****
>
> On Wed, Jul 20, 2011 at 12:13 PM, Crawford, Scott <[email protected]>
> wrote:****
>
> For /f “tokens=*” %i in (‘dir *WORDS_TO_SEARCH* /s/a/b/ad’) do robocopy
> /mir “%i” DESTINATION_PATH****
>
> ****
>
> This will search a folder tree for directorys. Change the dir command to
> eliminate the /s if you only want to search the root.****
>
> ****
>
> *From:* Jeff Bunting [mailto:[email protected]]
> *Sent:* Wednesday, July 20, 2011 11:01 AM****
>
>
> *To:* NT System Admin Issues
> *Subject:* file searching and copying****
>
> ****
>
> I'm attempting to search for particular words in a directory name (must use
> wildcards!), and, if found, copy the the directory tree while maintaining
> its structure to another directory.****
>
> ****
>
> Are there any native tools (or reskit like robocopy) that can accomplish
> this somewhat easily? ****
>
> ****
>
> thanks,****
>
> Jeff****
>
> ** **
>
> ~ Finally, powerful endpoint security that ISN'T a resource hog! ~
> ~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/> ~
>
> ---
> To manage subscriptions click here:
> http://lyris.sunbelt-software.com/read/my_forums/
> or send an email to [email protected]
> with the body: unsubscribe ntsysadmin****
>
> ** **
>
> ~ Finally, powerful endpoint security that ISN'T a resource hog! ~
> ~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/> ~
>
> ---
> To manage subscriptions click here:
> http://lyris.sunbelt-software.com/read/my_forums/
> or send an email to [email protected]
> with the body: unsubscribe ntsysadmin****
>
> ** **
>
> ~ Finally, powerful endpoint security that ISN'T a resource hog! ~
> ~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/> ~
>
> ---
> To manage subscriptions click here:
> http://lyris.sunbelt-software.com/read/my_forums/
> or send an email to [email protected]
> with the body: unsubscribe ntsysadmin****
>
> ~ Finally, powerful endpoint security that ISN'T a resource hog! ~
> ~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/> ~
>
> ---
> To manage subscriptions click here:
> http://lyris.sunbelt-software.com/read/my_forums/
> or send an email to [email protected]
> with the body: unsubscribe ntsysadmin
>
~ Finally, powerful endpoint security that ISN'T a resource hog! ~
~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/> ~
---
To manage subscriptions click here:
http://lyris.sunbelt-software.com/read/my_forums/
or send an email to [email protected]
with the body: unsubscribe ntsysadmin