無需登出即可恢復和備份、映射網路驅動器

無需登出即可恢復和備份、映射網路驅動器

我使用這個腳本來恢復和備份網路驅動器

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”。

相關內容