|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] используя net use написать CMD скрипт подключения сетевого диска |
|
|
CMD/BAT - [решено] используя net use написать CMD скрипт подключения сетевого диска
|
Новый участник Сообщения: 29 |
Профиль | Отправить PM | Цитировать Подскажите,пожалуйста, как написать в CMD, используя net use, скрипт подключения сетевого диска с присвоением названия диска (вместо буквы, например Disk_Sem) и проверкой на существование подключения с такой буквой.
Если есть подключение - заменить на возможную свободную букву. заранее благодарен всем хорошего дня! |
|
Отправлено: 10:20, 28-03-2012 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать Возможно, вам бы стоило использовать поиск по форуму, эта тема не раз уже поднималась.
Вот вариант с генерацией 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" |
Отправлено: 10:47, 28-03-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать большое спасибо за оперативность вечерком попробую запустить.
удачи |
Отправлено: 12:34, 28-03-2012 | #3 |
Ветеран Сообщения: 1272
|
Профиль | Отправить PM | Цитировать 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 ) |
Отправлено: 15:22, 30-03-2012 | #4 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать El Sanchez, добрый вечер!
а это для какой системы написано? под 7 пойдет или нужно менять системные пути? спасибо |
|
Отправлено: 19:23, 30-03-2012 | #5 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Если нужно что то поменять, то напишите, пожалуйст,а поконкретнее где и что. Ума у самого не хватает (надеюсь пройдет со временем).
Спасибо |
Отправлено: 19:57, 30-03-2012 | #6 |
Ветеран Сообщения: 1272
|
Профиль | Отправить PM | Цитировать |
Отправлено: 21:21, 30-03-2012 | #7 |
Ветеран Сообщения: 1758
|
Den,
Для подключения сетевого диска не задумываясь о букве можно: Подключит сетевой диск на первую свободную букву с конца алфавита (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% @echo off pushd \\live.sysinternals.com\tools || echo error && goto:eof echo doing something popd popd - отключает сетевой диск и возвращает текущую директорию в исходное состояние |
Последний раз редактировалось Foreigner, 30-03-2012 в 22:17. Отправлено: 22:10, 30-03-2012 | #8 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать очень интересно !
пробую спасибо! |
Отправлено: 22:15, 30-03-2012 | #9 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Просто потрясающе!
Код: @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% это работает и подключает диск как нужно! но тут же вопрос : каким образом можно дать имя этому диску, например MyDisk, другими словами вместо tools (\\live.sysinternals.com) было бы MyDisk(\\live.sysinternals.com) как то вот так и еще echo umounting \\live.sysinternals.com\tools что это? огромное спасибо! |
Отправлено: 22:32, 30-03-2012 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипт для подключения сетевого сканера | KipFun | AutoIt | 1 | 15-08-2014 10:12 | |
Разное - net use как написать .cmd чтобы подключал диск с паролем и запоминал пароль | sergey12345 | Microsoft Windows 2000/XP | 7 | 02-11-2013 10:38 | |
CMD/BAT - Как написать CMD скрипт для запуска определенного файла по дате и времени | traxomot | Скриптовые языки администрирования Windows | 1 | 15-12-2010 11:50 | |
VBS/WSH/JS - [решено] Нужен VBS скрипт для GPO (мапинг сетевого диска, запуск файла, отключение диска) | Anton04 | Скриптовые языки администрирования Windows | 6 | 28-05-2010 15:30 | |
Как сделать CMD файл для сетевого подключения ? | MKN | Microsoft Windows NT/2000/2003 | 4 | 08-01-2008 10:28 |
|