Восстановление и резервное копирование подключенных сетевых дисков без выхода из системы
Я использую этот скрипт для восстановления и резервного копирования сетевых дисков
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 на самом деле не часто меняется. Скажите, хотите ли вы, чтобы функция "export.reg file" была отдельной / необязательной для net use
часть.
Кроме того, я настоятельно рекомендую не называть переменные "путь".