(view source code of tempnwd2.bat as plain text)
@ECHO OFF
:: TempNWD.bat, Version 2.00 for Windows NT:: Map a network drive temporarily, and only if necessary:: Written by Rob van der Woude:: http://www.robvanderwoude.com:: Initialize variablesSET EXISTDRV=
SET UNC=%1
SET SWITCH=%2
IF NOT [%SWITCH%]==[] SET SWITCH=%SWITCH:~0,2%
IF NOT [%SWITCH%]==[] IF /I NOT [%SWITCH%]==[/D] GOTO Syntax
:: Check for forbidden third parameterIF NOT [%3]==[] GOTO Syntax
:: Check if first parameter is emptyIF [%UNC%]==[] GOTO Syntax
:: Check for 2 leading backslashesIF NOT %UNC:~0,2%==\\ GOTO Syntax
:: Parse parameter into \\server\shareFOR /F "tokens=1,2* delims=\" %%A IN ('ECHO.%UNC%') DO (
SET SERVER=%%A
SET SHARE=%%B
SET DIR=%%C
):: Check parsed parameterIF [%SHARE%]==[] GOTO Syntax
:: Check if server is on-linePING %SERVER% | FIND "TTL=" >NUL
IF ERRORLEVEL 1 GOTO OffLine
:: Check if share existsDIR \\%SERVER%\%SHARE% >NUL 2>&1
IF ERRORLEVEL 1 GOTO NoShare
:: Check if a mapping to the specified UNC existsFOR /F "tokens=2 delims= " %%A IN ('NET USE ^| FIND /I "\\%SERVER%\%SHARE%"') DO (
SET EXISTDRV=%%A
ECHO Drive %%A already mapped
)IF "%SWITCH%"=="" IF [%EXISTDRV%]==[] (
PUSHD \\%SERVER%\%SHARE%\%DIR%
) ELSE (
PUSHD %EXISTDRV%\%DIR%
)IF /I "%SWITCH%"=="/D" (
POPD
IF NOT [%EXISTDRV%]==[] NET USE %EXISTDRV% /D
)GOTO End
:NoShareECHO.
ECHO Share name invalid or no access to share
GOTO Syntax2
:OffLineECHO.
ECHO Server name invalid or server is off-line
GOTO Syntax2
:SyntaxECHO.
ECHO TempNwD.bat, Version 2.00 for Windows NT
ECHO Map a network drive temporarily, if necessary.
ECHO.
ECHO Written by Rob van der Woude
ECHO http://www.robvanderwoude.com
:Syntax2ECHO.
ECHO Usage: %~n0 \\server\share[\dir]
ECHO.
ECHO If a drive mapping to the specified UNC already exists, then that drive
ECHO mapping is used.
ECHO.
ECHO Example of usage (assuming yourprog.exe is located in \\server\share\mydir):
ECHO.
ECHO @echo off
ECHO call %~n0 \\server\share\mydir
ECHO yourprog.exe
ECHO call %~n0 \\server\share\mydir /D
:Endpage last modified: 2025-10-11; loaded in 0.0057 seconds