(view source code of isdev.bat as plain text)
@ECHO OFF
:: Checks if %1 is a valid device name.ECHO.
IF "%1"=="" GOTO Syntax
IF "%1"=="/?" GOTO Syntax
:: DOS or NT?VER | FIND "Windows NT" >NUL
IF ERRORLEVEL 1 GOTO DOS
:NT:: Based on the fact that DIR doesn't show a volume label for devicesDIR %1 2>NUL | FIND /I "Volume" >NUL
IF ERRORLEVEL 1 ECHO %1 is a valid NT device name
IF NOT ERRORLEVEL 1 ECHO %1 is NOT a valid NT device name
GOTO End
:DOS:: Based on the assumption that DIR displays:: no "file" date and time for devices.:: But first check AUX, CON and PRN, that are:: displayed with the current time and date.:: Sorry, this isn't a very elegant solution.:: If you know a better way, I'm all ears...SET OPATH=%PATH%
PATH %1
SET DEVICE=%PATH%
PATH %OPATH%
SET OPATH=
IF "%DEVICE%"=="AUX" GOTO Valid
IF "%DEVICE%"=="CON" GOTO Valid
IF "%DEVICE%"=="PRN" GOTO Valid
DIR \%DEVICE% | FIND "%DEVICE%" >NUL
IF ERRORLEVEL 1 GOTO Invalid
DIR \%DEVICE% | FIND "%DEVICE%" | FIND ":" >NUL
IF NOT ERRORLEVEL 1 GOTO Invalid
DIR \%DEVICE% | FIND "%DEVICE%" | FIND "." >NUL
IF NOT ERRORLEVEL 1 GOTO Invalid
DIR \%DEVICE% | FIND "%DEVICE%" | FIND "-" >NUL
IF NOT ERRORLEVEL 1 GOTO Invalid
DIR \%DEVICE% | FIND "%DEVICE%" | FIND "/" >NUL
IF NOT ERRORLEVEL 1 GOTO Invalid
:ValidECHO.%DEVICE% is a valid device name
GOTO End
:InvalidECHO.%DEVICE% is NOT a valid device name
GOTO End
:SyntaxECHO IsDev, Version 2.00 for NT and DOS
ECHO Checks if the specified parameter is a valid device name
ECHO.
ECHO Usage: ISDEV device_name
:EndSET DEVICE=
ECHO.
page last modified: 2025-10-11; loaded in 0.0049 seconds