无需注销即可恢复和备份映射的网络驱动器

无需注销即可恢复和备份映射的网络驱动器

我使用这个脚本来恢复和备份网络驱动器

SET path=C:\Users\%USERNAME%\Desktop\drives_backup.reg

C:\Windows\System32\reg.exe Export HKEY_CURRENT_USER\Network %path%

它工作得很好,但是因为我没有使用net use并且正在编辑注册表,所以我必须让用户注销并再次登录才能应用更改。有没有办法在不注销用户的情况下做同样的事情?

我还有一个 .vbs 脚本,用于将映射的网络驱动器保存为以下格式

G: (\\path1\GROUPS)

但不知道如何将论文翻译成

net use G: \\path1\GROUPS

答案1

您可以导出 .reg 文件,然后对其进行迭代并使用以下数据net use

setlocal enabledelayedexpansion

SET _path=C:\Users\%USERNAME%\Desktop\drives_backup.reg

C:\Windows\System32\reg.exe Export HKEY_CURRENT_USER\Network %_path%
for /f "tokens=1* delims=^=" %%a in ('type "%_path%"^|findstr /b .RemotePath') do (
    set network=%%~b
    set network=!network:\\=\!
    for /f "delims=[]" %%# in ('find /n %%b "%_path%"') do set n=%%#
    set /a n-=1
    for /f "delims=[] tokens=2" %%# in ('find /n /v "" "%_path%"^|findstr /b /c:"[!n!]"') do net use %%~n#: "!network!"
)

此脚本

  • 将 .reg 文件导出到指定路径
  • 读取导出的 .reg 文件并查找相关行
  • 对每个找到的网络执行net use FOUNDDRIVELETTER: \\found\network

如果我理解正确的话,.reg 文件实际上并不经常更改。请告诉我您是否希望将“导出 .reg 文件”功能与该部件分开/可选net use

另外,我强烈建议您不要将变量命名为“path”。

相关内容