映射网络驱动器批处理脚本

@echo off
:: -------------------------------
:: 映射网络驱动器批处理脚本
:: 目标共享路径:\\10.0.17.123\1.工作数据
:: 用户名:kuanchuang
:: 密码:SGTfwq2023
:: 映射盘符:Z:
:: -------------------------------

:: 设置共享路径、用户名、密码、映射盘符
set "sharePath=\\10.0.17.123\1.工作数据"
set "username=kuanchuang"
set "password=SGTfwq2023"
set "driveLetter=Z:"

:: 先尝试删除已经存在的同名映射(如果存在),防止冲突
net use %driveLetter% /delete /yes >nul 2>&1

:: 创建新的网络驱动器映射,使用指定的用户名和密码
net use %driveLetter% "%sharePath%" /user:%username% %password%

:: 检查是否成功,显示结果提示
if %ERRORLEVEL%==0 (
    echo 映射成功:
    echo    %driveLetter% --> %sharePath%
) else (
    echo 映射失败,请检查以下内容:
    echo    - 用户名或密码是否正确
    echo    - 网络路径是否可访问
    echo    - 当前用户是否有权限进行映射
)

:: 暂停窗口,防止执行完立即关闭
pause

使用说明:

  • 将以上内容保存为 map_drive.bat。
  • 右键点击该文件,选择“以管理员身份运行”。
  • 如果需要映射为其他盘符,请修改 set "driveLetter=Z:"。

从新更新脚本

✅ 判断凭据是否已存在,避免重复保存。
✅ 判断映射盘符是否已被其他路径占用,避免冲突。
✅ 若盘符已被使用且指向错误位置,自动断开重新连接。
✅ 驱动器映射设置为自动重连(/persistent:yes)。

@echo off
:: =============================
:: 配置变量
:: =============================
set "sharePath=\\10.0.17.123\1.工作数据"
set "hostname=10.0.17.123"
set "username=kuanchuang"
set "password=SGTfwq2023"
set "driveLetter=G:"

echo.
echo [步骤1] 检查是否已存在凭据...

:: =============================
:: 检查是否已存在凭据
:: =============================
cmdkey /list | findstr /C:"Target: %hostname%" >nul
if %ERRORLEVEL%==0 (
    echo 已存在凭据,跳过保存。
) else (
    echo 未找到凭据,正在保存用户名和密码...
    cmdkey /add:%hostname% /user:%username% /pass:%password%
)

echo.
echo [步骤2] 检查驱动器 %driveLetter% 是否被占用...

:: =============================
:: 检查驱动器是否已被映射
:: =============================
net use %driveLetter% >nul 2>&1
if %ERRORLEVEL%==0 (
    for /f "tokens=3" %%a in ('net use %driveLetter% ^| findstr "\\"') do (
        set "existingPath=%%a"
    )
    if /I "%existingPath%"=="%sharePath%" (
        echo 盘符 %driveLetter% 已正确映射到 %sharePath%,跳过映射。
        goto :END
    ) else (
        echo 盘符 %driveLetter% 已被占用,映射到 %existingPath%,正在断开...
        net use %driveLetter% /delete /yes >nul
    )
) else (
    echo 盘符 %driveLetter% 未被占用,准备映射。
)

echo.
echo [步骤3] 正在映射 %driveLetter% 到 %sharePath% ...

:: =============================
:: 映射驱动器
:: =============================
net use %driveLetter% "%sharePath%" /persistent:yes >nul
if %ERRORLEVEL%==0 (
    echo ? 映射成功,驱动器为 %driveLetter% 指向 %sharePath%
) else (
    echo ? 映射失败,请检查网络或凭据设置。
)

:END
echo.
pause


映射网络驱动器批处理脚本
https://halo.tolan.link:6688//archives/1751428245379
发布于
2025年07月02日
许可协议