Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Получить номер диска в переменную

Ответить
Настройки темы
CMD/BAT - [решено] Получить номер диска в переменную

Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


Здравствуйте.
Нужно, чем проще, тем лучше, реализовать такое: при запуске файла надо вывести в переменную номер диска, в корне которого лежит файл 1
Типа как сделать diskpart -> list volume

Должно быть как-то так:
Код: Выделить весь код
FOR %%d IN (c d e f g h i j k l m n o p q r s t u v w x y z) DO IF EXIST %%d:\1 SET CDROM=%%d:
Для диска, у которого CDROM=%%d:, нужно в переменную вывести номер диска
Спасибо.

Отправлено: 19:14, 02-04-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить 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
Благодарности: 86

Профиль | Отправить PM | Цитировать


Почему напрасно?
Ведь мне надо чем проще тем лучше, так сказать файл-маркер это для меня классика, а серийный номер это уже очень научно
Хотя может быть с серийным номером чем то лучше, чем с файлом-маркером

Отправлено: 21:47, 04-04-2014 | #22


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


SharkyEXE, во всяком случае, поменяйте имя маркерного файла с «1» (которых внезапно может оказаться x штук на логических дисках, а не только на Вашей флэшке) на какой-нибудь более уникальный маркер. Например, на какой-нибудь сгенерированный GUID. И мы закономерно придём к тем же яйцам, только в профиль тому же a-la серийному номеру, .
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:25, 04-04-2014 | #23

mwz mwz вне форума

Аватара для mwz

Ушел из жизни


Сообщения: 8595
Благодарности: 2127

Профиль | Сайт | Отправить PM | Цитировать


Iska, как вариант -- метку тома делать уникальной, чтобы маркер под руками не болтался.

SharkyEXE, Правда, полностью стандартный GUID туда вроде не влезает -- но можно сгенерить и вставить первые 32 символа.
И обрабатывать затем эту метку тома.

Или читать тот идентификатор, с которым диск сидит в системе.

-------
Mikhail Zhilin

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:53, 05-04-2014 | #24


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


mwz, я и предлагаю пользовать почти то же — серийный номер логического диска, получаемый им при форматировании раздела.
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:06, 05-04-2014 | #25

mwz mwz вне форума

Аватара для mwz

Ушел из жизни


Сообщения: 8595
Благодарности: 2127

Профиль | Сайт | Отправить PM | Цитировать


Iska, ну я просто показать, что вариантов не один: выбор есть.

-------
Mikhail Zhilin

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:08, 05-04-2014 | #26


Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


2 all
Огромное всем спасибо за помощь.
Тепреь мне не придется каждый раз залазить в Управление дисками и смотреть номер флешки, затем этот номер прописывать в командный файл...
В общем, уважение и почёт автоматизации и всем тем людям, кто помогает в автоматизации действий.
Ура!

Отправлено: 22:08, 05-04-2014 | #27



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Получить номер диска в переменную

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход