Нужно создать исполняемый файл подключения сетевого диска в windows и присвоения ему метки - VB
Формулировка задачи:
Я обычно для всего использую bat-файлы. Мне для моих задачей хватает. Но иногда нужно, чтобы задача запускалась от имени админа, а батник по умолчанию запускается без прав. Я обычно использую программу bat2execonverter, но антивирусники на нее очень плохо реагируют последнее время. Раньше, когда еще в школе я увлекался бейсиком, я прописывал некоторые команды типа "net send", "shutdown -r" через бейсиковую процедуру и компилил красивый .exe для дальнейшего его использования. Это все я расписал не просто ради какой-то истории, а чтобы вы смогли понять, что я хочу и помогли мне.
Меня интересует две задачи:
1. Какой код в бейсике отвечает за запуск команды для командной строки. Т.е. вы мне дадите код (там строчек 10 не более, если я не ошибаюсь). Я просто в нужном месте подставляю нужную мне команду, компилю и получаю красивый .ехе.
Так же интересует, как сделать, если я хочу несколько команд внутри одной программы поочередно запускать, т.е. несколько строчек.
2. Мне нужно подключить сетевой диск в ос windows и задать ему метку. Сетевому диску метку не задать просто так (например командой label). Нужно либо править реестр, либо задавать через .vbs (что я и хочу у вас попросить, но чтобы, я могу скомпилить в готовый .ехе в итоге). Скрипт я нашел готовый для присоединения диска и задания метки. Но он используется для обычной расшареной папки. Мне же нужно присоединить через webdav с авторизацией. А этого в готовом скрипте нет.
Для cmd я использую команду net use w: https://webdav.yandex.ru /persistent:no /user:user password
Вот примеры скриптов которые я нашел
Так же интересует какой параметр поменять, чтобы диск был постоянный и только на сеанс (это параметр /persistent:yes в cmd). Т.е. при заданном параметре он бы монтировался на постоянной основе, без параметра только до перезагрузки.
Листинг программы
- On Error Resume Next
- Set objWshNetwork = CreateObject( "WScript.Network" )
- Set objShell = CreateObject("Shell.Application")
- MapDrive "X:", "\\files\files", "Базы"
- Sub MapDrive(strDrive, strPath, strName)
- On Error Resume Next
- objWshNetwork.RemoveNetworkDrive strDrive, vbTrue, vbTrue
- objWshNetwork.MapNetworkDrive strDrive, strPath
- objShell.NameSpace(strDrive).Self.Name = strName
- End Sub
Листинг программы
- @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"
Листинг программы
- @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
- )
Решение задачи: «Нужно создать исполняемый файл подключения сетевого диска в windows и присвоения ему метки»
textual
Листинг программы
- " "
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д