找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 15389|回复: 2

[网络连接] 获取管理员权限的代码为什么会影响到获取网络盘符的判断?

[复制链接]
发表于 2021-11-30 17:00:10 | 显示全部楼层 |阅读模式
本帖最后由 diablozhao 于 2021-11-30 17:01 编辑

前提:
1.创建一个网络驱动器
  1. net use U: \\192.168.1.2\doc
复制代码
2.删除这个网络驱动器
  1. net use U: delete
复制代码
3.这时候在【资源管理器】的【此电脑】中可以看网络位置 U: 但是会显示一个大叉。

=====================================================
问题:
使用普通DOS命令
  1. if exist U: (echo U is ok) else (echo U is bad)
复制代码
结果显示为:
U is bad
(这是我想要的结果)

但是,如果批处理中加了获取管理员权限的代码
  1. %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("""%~f0""","::",,"runas",1)(close)&exit /b
  2. if exist U: (echo U is ok) else (echo U is bad)
复制代码
结果就变成了:
U is ok

为什么会这样。。。疯了
 楼主| 发表于 2021-11-30 17:37:52 | 显示全部楼层
晕了。。。

批处理里设置的 net use U: \\xxx
显示的是 命令成功完成 ,但资源管理器里不显示。
net use U: /delete 也是删不掉盘符

但是在CMD下直接键入是有效的。。。
 楼主| 发表于 2021-11-30 19:03:30 | 显示全部楼层
完整的如下,但不起作用
  1. @echo off
  2. %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("""%~f0""","::",,"runas",1)(close)&exit /b
  3. setlocal enabledelayedexpansion
  4. cd /d "%~dp0"

  5. set dzzfc0= ==========================================================
  6. set dzzfc1=\\shanghai-fs\doc
  7. set dzzfc2=\\beijing-fs\doc
  8. set dzzfc3=\\guangzhou-fs\doc

  9. :DZENV
  10. echo %dzzfc0%
  11. echo 是否需要自动创建网络驱动器【U:】?
  12. echo 无需设置环境请直接按"回车"
  13. echo 键入"1" 切换到 上海
  14. echo 键入"2" 切换到 北京
  15. echo 键入"3" 切换到 广州
  16. set /p input=请输入需要切换环境的相应数字:
  17. for %%i in (1 2 3) do (
  18. if "%input%"=="%%i" (
  19. if exist U: (
  20. choice /c:YN /m "已经存在【U:】驱动器,是否需要覆盖?"
  21. if errorlevel 2 goto END
  22. net use U: /delete
  23. )
  24. net use U: !dzzfc%%i!
  25. setx ENV_ROOT U: /m
  26. echo 已配置到网络驱动器【U:】!
  27. )
  28. )
  29. goto END

  30. :END
  31. echo %dzzfc0%
  32. pause
  33. goto:eof
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 17:55 , Processed in 0.030189 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表