CMD/BAT - [решено] используя net use написать CMD скрипт подключения сетевого диска
-
Den
CMD/BAT - [решено] используя net use написать CMD скрипт подключения сетевого диска
Подскажите,пожалуйста, как написать в CMD, используя net use, скрипт подключения сетевого диска с присвоением названия диска (вместо буквы, например Disk_Sem) и проверкой на существование подключения с такой буквой.
Если есть подключение - заменить на возможную свободную букву.
заранее благодарен
всем хорошего дня!
Если есть подключение - заменить на возможную свободную букву.
заранее благодарен
всем хорошего дня!
-
Guest
Re: CMD/BAT - [решено] используя net use написать CMD скрипт подключения сетевого диска
Возможно, вам бы стоило использовать поиск по форуму, эта тема не раз уже поднималась.
Вот вариант с генерацией vbs-скрипта, из cmd напрямую имя диска назначить нельзя. Имя и сетевой путь замените на свои.
Код:
Вот вариант с генерацией vbs-скрипта, из cmd напрямую имя диска назначить нельзя. Имя и сетевой путь замените на свои.
Код:
Код: Выделить всё
@Echo Off
For %%A In (Z Y X W V U T S R Q P O N M L J I H G F E D C) Do (
If Not Exist "%%A:\" Set Disk=%%A&GoTo Jump
)
:Jump
>"%Temp%\netdrive.vbs" (
Echo On Error Resume Next
Echo Set objWshNetwork = CreateObject^( "WScript.Network" ^)
Echo Set objShell = CreateObject^("Shell.Application"^)
Echo MapDrive "%Disk%:", "\\inquisitor\bkup\sqldumps", "Базы"
Echo Sub MapDrive^(strDrive, strPath, strName^)
Echo On Error Resume Next
Echo objWshNetwork.RemoveNetworkDrive strDrive, vbTrue, vbTrue
Echo objWshNetwork.MapNetworkDrive strDrive, strPath
Echo objShell.NameSpace^(strDrive^).Self.Name = strName
Echo End Sub
)
Call "%Temp%\netdrive.vbs"
Del "%Temp%\netdrive.vbs"-
Foreigner
Re: CMD/BAT - [решено] используя net use написать CMD скрипт подключения сетевого диска
Цитата:
каким образом можно дать имя этому диску, например MyDisk
Не понял. Где должно быть это название? Если про метку диска, то она наверное не будет работать с сетевыми дисками.
Цитата:
echo umounting \\live.sysinternals.com\tools
что это?
Просто вывод текста, симуляция какого-то действия в контексте батника-примера
каким образом можно дать имя этому диску, например MyDisk
Не понял. Где должно быть это название? Если про метку диска, то она наверное не будет работать с сетевыми дисками.
Цитата:
echo umounting \\live.sysinternals.com\tools
что это?
Просто вывод текста, симуляция какого-то действия в контексте батника-примера
-
Den
Re: CMD/BAT - [решено] используя net use написать CMD скрипт подключения сетевого диска
большое спасибо за оперативность вечерком попробую запустить.
удачи
удачи
-
El Sanchez
Re: CMD/BAT - [решено] используя net use написать CMD скрипт подключения сетевого диска
Den, вариант №2
Код:
Код:
Код: Выделить всё
@Echo Off
SetLocal
Set UNC=\\10.29.9.200\distr
Set Label=distr
For /F "Tokens=2 Delims==" %%A In ('WMIC path Win32_MappedLogicalDisk WHERE ProviderName^=^'%UNC:\=\\%^' Get Name /Value 2^>nul') Do (
Call Net Use %%A /delete /y 1>nul 2>&1
Net Use * %UNC% 1>nul 2>&1
Reg Add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\%UNC:\=#%" /v _LabelFromReg /d "%Label%" /f 1>nul 2>&1
)-
Den
Re: CMD/BAT - [решено] используя net use написать CMD скрипт подключения сетевого диска
El Sanchez, добрый вечер!
а это для какой системы написано?
под 7 пойдет или нужно менять системные пути?
спасибо
а это для какой системы написано?
под 7 пойдет или нужно менять системные пути?
спасибо
-
Den
Re: CMD/BAT - [решено] используя net use написать CMD скрипт подключения сетевого диска
Цитата Den:
под 7 пойдет или нужно менять системные пути?
Den, проверял под XP и 7.
Цитата Den:
Если нужно что то поменять, то напишите, пожалуйст,а поконкретнее где и что.
Den, Менять нужно только сетевой путь (переменная UNC) и метку (переменная Label) в начале скрипта.
под 7 пойдет или нужно менять системные пути?
CMD/BAT - [решено] используя net use написать CMD скрипт подключения сетевого диска
Den, проверял под XP и 7.
Цитата Den:
Если нужно что то поменять, то напишите, пожалуйст,а поконкретнее где и что.
CMD/BAT - [решено] используя net use написать CMD скрипт подключения сетевого диска
Den, Менять нужно только сетевой путь (переменная UNC) и метку (переменная Label) в начале скрипта.
-
El Sanchez
Re: CMD/BAT - [решено] используя net use написать CMD скрипт подключения сетевого диска
Den,
Для подключения сетевого диска не задумываясь о букве можно:
Код:
Подключит сетевой диск на первую свободную букву с конца алфавита (z....a). Для сохранения буквы диска, все можно завернуть в for:
Код:
Если буква диска не важна для дальнейших действий ( хоть она и есть, назначается опять же по принципу (z...a) ), и все решается в пределах одного батника, то можно воспользоваться командой pushd:
Код:
pushd - подключает сетевой диск и делает директорию на сетевом диске текущей
popd - отключает сетевой диск и возвращает текущую директорию в исходное состояние
Для подключения сетевого диска не задумываясь о букве можно:
Код:
Код: Выделить всё
net use * \\live.sysinternals.com\toolsПодключит сетевой диск на первую свободную букву с конца алфавита (z....a). Для сохранения буквы диска, все можно завернуть в for:
Код:
Код: Выделить всё
@echo off
setlocal
for /f "tokens=2" %%i in (' net use * \\live.sysinternals.com\tools ') do set "mountpoint=%%i" && goto:next
echo error
goto:eof
:next
echo doing something on %mountpoint%
echo umounting \\live.sysinternals.com\tools
net use /delete %mountpoint%Если буква диска не важна для дальнейших действий ( хоть она и есть, назначается опять же по принципу (z...a) ), и все решается в пределах одного батника, то можно воспользоваться командой pushd:
Код:
Код: Выделить всё
@echo off
pushd \\live.sysinternals.com\tools || echo error && goto:eof
echo doing something
popdpushd - подключает сетевой диск и делает директорию на сетевом диске текущей
popd - отключает сетевой диск и возвращает текущую директорию в исходное состояние
-
Foreigner
Re: CMD/BAT - [решено] используя net use написать CMD скрипт подключения сетевого диска
Den,
Для подключения сетевого диска не задумываясь о букве можно:
Код:
Подключит сетевой диск на первую свободную букву с конца алфавита (z....a). Для сохранения буквы диска, все можно завернуть в for:
Код:
Если буква диска не важна для дальнейших действий ( хоть она и есть, назначается опять же по принципу (z...a) ), и все решается в пределах одного батника, то можно воспользоваться командой pushd:
Код:
pushd - подключает сетевой диск и делает директорию на сетевом диске текущей
popd - отключает сетевой диск и возвращает текущую директорию в исходное состояние
Для подключения сетевого диска не задумываясь о букве можно:
Код:
Код: Выделить всё
net use * \\live.sysinternals.com\toolsПодключит сетевой диск на первую свободную букву с конца алфавита (z....a). Для сохранения буквы диска, все можно завернуть в for:
Код:
Код: Выделить всё
@echo off
setlocal
for /f "tokens=2" %%i in (' net use * \\live.sysinternals.com\tools ') do set "mountpoint=%%i" && goto:next
echo error
goto:eof
:next
echo doing something on %mountpoint%
echo umounting \\live.sysinternals.com\tools
net use /delete %mountpoint%Если буква диска не важна для дальнейших действий ( хоть она и есть, назначается опять же по принципу (z...a) ), и все решается в пределах одного батника, то можно воспользоваться командой pushd:
Код:
Код: Выделить всё
@echo off
pushd \\live.sysinternals.com\tools || echo error && goto:eof
echo doing something
popdpushd - подключает сетевой диск и делает директорию на сетевом диске текущей
popd - отключает сетевой диск и возвращает текущую директорию в исходное состояние
-
Den
Re: CMD/BAT - [решено] используя net use написать CMD скрипт подключения сетевого диска
очень интересно !
пробую
спасибо!
пробую
спасибо!