DOCUMENT:Q97841 30-JUL-2001 [lanman] TITLE :IF EXISTS Command Exhibits Different Behavior on HPFS PRODUCT :Microsoft LAN Manager PROD/VER: OPER/SYS: KEYWORDS: ====================================================================== SUMMARY ======= Testing for the existence of a remote drive or directory via the IF EXISTS drive:\nul command exhibits different behavior on an HPFS partition than it does on a FAT partition. On an HPFS system, the IF EXISTS command always returns FALSE when testing for the NUL device. SYMPTOMS ======== exist.bat if exist %1\NUL goto dir_ok echo %1 doesn't exist goto end :dir_ok echo %1 exists Usage: exist P: exist P:\dirname\dir The code returns "P: doesn't exist," but if P is an HPFS partition linked to a sharename on a FAT partition, then the code returns "P: exists." If you substitute the local hard drive for P, then the command works as expected. FAT and HPFS partitions respond differently to the IF EXISTS NUL from an MS-DOS workstation, but not if you copy EXIST.BAT to EXIST.CMD and run it from both types of partitions while at the server. CAUSE ===== This behavior exists because of design differences in the two file systems. In the FAT file system, the NUL device is one associated with each partition, as well as each directory on that partition. On an HPFS partition, however, the NUL device does not live as part of the file system on the disk, and as such cannot be tested for via the IF EXISTS from a remote client. Nevertheless, the device does exist, and behaves identically to the implementation on FAT. RESOLUTION ========== The following batch file shows an alternative way to test for the existence of a remote drive/directory: copy c:\config.sys %1\$$$$$.tst if exists %1\$$$$$.txt goto dir_there echo %1 does not exist! goto done :dir_there echo %1 does exist! :done Also, using the LAN Manager PTK, it is possible to programatically test for the existence of a remote drive/directory. Additional query words: 2.00 2.10 2.10a 2.20 ====================================================================== Keywords : ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 2001.