PDA

Показать полную графическую версию : Присвоить букву диску


Valek271183
18-01-2015, 15:44
В управлении компьютером есть жесткий с несколькими разделами к которым не присвоена никакая буква, как с помощью cmd/bat можно присвоить буквы разделам (буквы всё равно какие) ?

Foreigner
18-01-2015, 16:06
Valek271183,

@echo off
setlocal

for /f %%i in (' "mountvol /l | findstr .:\\" ') do call:1 %%i
for /f %%i in (' "mountvol /l | findstr \\\\?" ') do if not defined vol_%%i call:2 %%i
goto:eof

:1

for /f %%i in (' mountvol %1 /l ') do set "vol_%%i=%1"
goto:eof

:2

for %%i in (c d e f g h i k l) do (

if not exist %%i:\ (

mountvol %%i: %1
goto:eof

))

ЗЫ. Не делал проверку на CD\DVD-привод, так что лучше забить свободные возможные буквы, например r s t u v w x y z. Или вообще смонтировать в пустую папку:

:2
for %%i in (1 2 3 4 5) do (

if not exist d:\mountvol\%%i (
md d:\mountpoint\%%i
mountvol d:\mountpoint\%%i %1
goto:eof
))

PSS. Соответственно запускать надо от Администратора.

Valek271183
18-01-2015, 17:49
Foreigner, использую XP liveCD там этот способ не срабатывает, вреде пишет mountvol не является внут/внеш командой

Foreigner
18-01-2015, 19:27
А что там на live-cd есть?
Попробуйте wmic:

wmic volume where "driveletter=NULL" addmountpoint "X:\"

Iska
18-01-2015, 19:30
Foreigner, использую XP liveCD там этот способ не срабатывает, вреде пишет mountvol не является внут/внеш командой »
Берёте mountvol.exe из дистрибутива, кладёте в «%SystemRoot%\System32» Вашего XP liveCD, убеждаетесь, что там же наличествуют библиотеки:
ADVAPI32.DLL
KERNEL32.DLL
MSVCRT.DLL
USER32.DLL
пользуете.

Попробуйте wmic: »
volume - Псевдоним не найден.
Win32_Volume class (Windows) (http://msdn.microsoft.com/en-us/library/aa394515%28v=vs.85%29.aspx):
Windows XP and earlier: This class is not available.




© OSzone.net 2001-2012