![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Получить номер диска в переменную |
|
|
CMD/BAT - [решено] Получить номер диска в переменную
|
Ветеран Сообщения: 900 |
Здравствуйте.
Нужно, чем проще, тем лучше, реализовать такое: при запуске файла надо вывести в переменную номер диска, в корне которого лежит файл 1 Типа как сделать diskpart -> list volume Должно быть как-то так: Спасибо. |
|
Отправлено: 19:14, 02-04-2014 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Напрасно.
Option Explicit
Dim objSWbemObjectEx
Dim objFSO
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
With GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
For Each objSWbemObjectEx In .ExecQuery("SELECT * FROM Win32_LogicalDisk")
If objFSO.FileExists(objSWbemObjectEx.Name & "\1") Then
Exit For
End If
Next
For Each objSWbemObjectEx In objSWbemObjectEx.Associators_(,"Win32_DiskPartition")
Exit For
Next
For Each objSWbemObjectEx In objSWbemObjectEx.Associators_(,"Win32_DiskDrive")
Exit For
Next
WScript.Echo objSWbemObjectEx.DeviceID
End With
Set objFSO = Nothing
WScript.Quit 0
|
Отправлено: 20:00, 04-04-2014 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 900
|
Профиль | Отправить PM | Цитировать Почему напрасно?
Ведь мне надо чем проще тем лучше, так сказать файл-маркер это для меня классика, а серийный номер это уже очень научно Хотя может быть с серийным номером чем то лучше, чем с файлом-маркером |
Отправлено: 21:47, 04-04-2014 | #22 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать SharkyEXE, во всяком случае, поменяйте имя маркерного файла с «1» (которых внезапно может оказаться x штук на логических дисках, а не только на Вашей флэшке) на какой-нибудь более уникальный маркер. Например, на какой-нибудь сгенерированный GUID. И мы закономерно придём к
![]() |
Отправлено: 22:25, 04-04-2014 | #23 |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать Iska, как вариант -- метку тома делать уникальной, чтобы маркер под руками не болтался.
SharkyEXE, Правда, полностью стандартный GUID туда вроде не влезает -- но можно сгенерить и вставить первые 32 символа. И обрабатывать затем эту метку тома. Или читать тот идентификатор, с которым диск сидит в системе. |
------- Отправлено: 00:53, 05-04-2014 | #24 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать mwz, я и предлагаю пользовать почти то же — серийный номер логического диска, получаемый им при форматировании раздела.
|
Отправлено: 14:06, 05-04-2014 | #25 |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать Iska, ну я просто показать, что вариантов не один: выбор есть.
![]() |
------- Отправлено: 19:08, 05-04-2014 | #26 |
Ветеран Сообщения: 900
|
Профиль | Отправить PM | Цитировать 2 all
Огромное всем спасибо за помощь. Тепреь мне не придется каждый раз залазить в Управление дисками и смотреть номер флешки, затем этот номер прописывать в командный файл... В общем, уважение и почёт автоматизации и всем тем людям, кто помогает в автоматизации действий. Ура! |
Отправлено: 22:08, 05-04-2014 | #27 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Как получить название группы Администраторов в переменную. | volk1234 | Скриптовые языки администрирования Windows | 24 | 02-04-2015 15:48 | |
CMD/BAT - [решено] Получить номер строки | Bruce Wayne | Скриптовые языки администрирования Windows | 1 | 05-08-2013 20:56 | |
CMD/BAT - [решено] Как получить порядковый номер диска в качестве переменной | AUTO-NEK | Скриптовые языки администрирования Windows | 6 | 14-01-2011 18:57 | |
CMD/BAT - Как получить номер com порта к которому подлюче GPS | fritzz | Скриптовые языки администрирования Windows | 1 | 29-12-2010 00:50 | |
(solved)Как получить переменную, содержащую путь к директории Documents and Settings? | arial | Автоматическая установка Windows 2000/XP/2003 | 12 | 15-11-2005 15:58 |
|