我使用这个脚本来恢复和备份网络驱动器
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”。