И попутный вопрос выплывающий из этого:
Как определить какому диску буква пренадлежит ? CD или Flesh ?
И второй вопрос:
можно ли заменить файл не зная на каком он диске находится?
Ну сделать типа поиска по названию файла по всем дискам, а потом создать переменную в которую будет записываться путь до файла ?
Заранее спасибо !!!
Если bat файл запускается с фэлш или cd то можно использовать
%~d0\ - expands %I to a drive letter only
Если надо через бат узнать,то тут уже сложнее гораздо.Тут надо использовать WMI.Это сами мучайте классы Win32_DriskDriver,WIn32_Volume
Поиск по дискам можно осуществить через for ,dir /s и фильтровать по имени файла через findstr.Небольшой пример:
Цитата:
for /F %i in ('dir C:\ /S /B ^| findstr "\<win.ini\>"') do echo %~fi
Для определения подключенных flash можно попробовать
Цитата:
wmic path win32_logicaldisk where (DriveType="2" and Description='Removable Disk' AND Size!="0") get name | findstr ":"
Для CDROm посмотреть http://msdn.microsoft.com/en-us/library/aa394173(VS.85).aspx
Последний раз редактировалось SpangeBoB; 17.11.2009 в 02:14..