Re: How can I check if a folder is empty in bat file?
- From: "Dean Wells [MVP]" <dwells@xxxxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 4 Apr 2005 18:40:35 -0400
Within a script, use the following (no doubt inadvertently line wrapped)
one-liner:
if not "%~f1"=="" for /f %%e in ('dir "%~f1\*" /b/a') do goto
:LABELINDICATINGDIRECTORYNOTEMPTY
Create a label named accordingly that handles your requirements when the
directory is not empty.
--
Dean Wells [MVP / Directory Services]
MSEtechnology
[[ Please respond to the Newsgroup only regarding posts ]]
R e m o v e t h e m a s k t o s e n d e m a i l
Dmitry Anikin wrote:
> I'm using win xp sp2.
> The folder exists, that I know for sure, but I must know if it
> contains any file or subfolder. Is there any SIMPLE way to do it????
>
> I tried:
> if exists folder\*.*
> if exists folder\*
> if exists folder\?
> if exists folder\?.?
> ---- it always true, I think because there're always "." and ".."
> subfolders in a folder.
> I could use something like: dir folder /b > tmpfile, then check
> whether tmpfile is empty but it is very cumbersome and I (don't want)
> || (cannot ) use temp
> files.
> I tried dir folder /b | set /p myvar=
> But you cannot access myvar later, 'cause it's created in another
> context. By the way, why doesn't this work:
> dir folder /b | (set /p myvar= & echo %myvar%)
> or
> dir folder /b | (setlocal enabledelayedexpansion & set /p myvar= &
> echo !myvar!) -it echoes string '!myvar!', although
> dir folder /b | (set /p myvar= & set myvar)
> shows that myvar really gets the name of first item in a dir
>
> I tried xcopy /e folder\*.* nul and it always returns an error
> although copy folder\*.* nul can be used and it returns errorlevel 1
> if no file exists, but it doesn't care for subfolders! Also, copying
> a big folder even to nul can be a performance problem.
>
> for %%i in (folder\*) ---- doesn't check subdirs
> if FOR checks subdirs (like in: for /r %%i in (.), for /d ...) it
> doesn't check files For now I've settled for this:
>
> for %%i in (folder\*) do goto notempty
> for /d %%i in (folder\*) do goto notempty
> rem here it's empty
> goto cont
>> notempty
> rem and here it is not
>
> but it's way too complex for such an easy task,
> and also FOR doesn't check for hidden files.
>
> Any suggestions?
.
- Follow-Ups:
- Re: How can I check if a folder is empty in bat file?
- From: Dean Wells [MVP]
- Re: How can I check if a folder is empty in bat file?
- References:
- How can I check if a folder is empty in bat file?
- From: Dmitry Anikin
- How can I check if a folder is empty in bat file?
- Prev by Date: How to download files from an ftp server base on the posting times?
- Next by Date: Re: How can I check if a folder is empty in bat file?
- Previous by thread: Re: Re: How can I check if a folder is empty in bat file?
- Next by thread: Re: How can I check if a folder is empty in bat file?
- Index(es):
Relevant Pages
|