Probar si existe una unidad o directorio desde un archivo por lotes

Exención de responsabilidades de contenido KB retirado

Este artículo se refiere a productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Resumen

Puede utilizar la instrucción IF EXIST para comprobar la presencia de un directorio. Por ejemplo, para probar C:\WIN y, a continuación, cambie a C:\WIN si existe, utilice el siguiente archivo por lotes:

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

Más información

NUL siempre existe en una unidad FAT de MS-DOS local; por lo tanto, si existe C:\WIN, existe C:\WIN\NUL. Esta técnica también puede utilizarse para comprobar la existencia de una unidad. Por ejemplo:

   IF EXIST E:\NUL GOTO USE_E

Si se prueba un disco sin formato, o si la unidad de disco está vacía, se produce un error de INT 24 (anular, Reintentar, fallo?).



Ninguna de estas pruebas funciona correctamente con dispositivos de red o cualquier otro dispositivo que no tiene un sistema de archivos FAT controlado de controlador de dispositivo de bloque (por ejemplo, cuando se utiliza Windows para trabajo en grupo 3.11 con acceso a archivos de 32 bits habilitado).


Antes de utilizar esta técnica, debe saber qué software de red está usando el cliente, qué tipo de servidor que va a conectar, y el sistema de archivos que está utilizando el servidor.


En la tabla siguiente muestra cuándo IF EXIST devuelve null:
                                                         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

Propiedades

Id. de artículo: 65994 - Última revisión: 17 ene. 2017 - Revisión: 1

Comentarios