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:55:19 -0400
Having sync'd my newsgroups it seems you'd already found that one ... or
a close derivative!
I've since taken another look at using the "if" statement to achieve
your goal and found many other way to get there, none of which use "if"
exclusively ... there may well be a creative way but I've yet to find it
I'm afraid!
Sorry ... Dean
--
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
Dean Wells [MVP] wrote:
> 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.
>
>
> 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?
.
- References:
- How can I check if a folder is empty in bat file?
- From: Dmitry Anikin
- Re: How can I check if a folder is empty in bat file?
- From: Dean Wells [MVP]
- How can I check if a folder is empty in bat file?
- Prev by Date: Re: How can I check if a folder is empty in bat file?
- Next by Date: Re: How to download files from an ftp server base on the posting times?
- Previous by thread: 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
|
Loading