Testing If a Drive or Directory Exists from a Batch File

Disclaimer voor KB-inhoud ingetrokken

Dit artikel gaat over producten waarvoor Microsoft niet langer ondersteuning biedt. Daarom wordt dit artikel aangeboden 'as is' en wordt het niet langer bijgewerkt.

Summary

You can use the IF EXIST statement to check for the presence of a directory. For example, to test for C:\WIN and then change to C:\WIN if it exists, use the following batch file:


C:
IF NOT EXIST C:\WIN\NUL GOTO NOWINDIR
CD \WIN
:NOWINDIR

More Information

NUL always exists on a local MS-DOS FAT drive; therefore, if C:\WIN exists, C:\WIN\NUL exists. This technique can also be used to verify that a drive exists. For example:


IF EXIST E:\NUL GOTO USE_E
If an unformatted disk is tested, or if the floppy disk drive is empty, an INT 24 error (Abort, Retry, Fail?) occurs.



Neither of these tests works correctly with network devices or any other device that does not have a block device-driver-controlled FAT file system (for example, when you are using Windows for Workgroups 3.11 with 32-Bit File Access enabled).


Prior to using this technique, you should know what network software the client is using, what type of server they're connecting to, and the file system the server is using.


The following table shows when IF EXIST returns NUL:

With 32-Bit File
No 32-Bit With 32-Bit Access and NetWare

Drive Type File Access File Access 3.x connectivity

Local FAT correctly always never
Windows for Workgroups FAT correctly always never
Microsoft LAN Manager HPFS never always never
Windows NT FAT/NTFS never always never
NetWare correctly never never
Eigenschappen

Artikel-id: 65994 - Laatst bijgewerkt: 15 nov. 2006 - Revisie: 1

Feedback