Другие языки программирования и технологии
Как изменить букву диска через командную строку (или пакетный файл)?
Есть желание сделать пакетный файл и закинуть его в автозапуск на флешку. Чтобы при включении флешки запускался пакетный файл и изменял букву диска флешки на конкретную (например на Y:). Таким образом моя флешка всегда на всех компах будет иметь букву Y:, при условии что буква Y: у всех свободна.
Общий алгоритм по смене буквы из cmd выглядит так:
1. запускаешь DiskPart командой
diskpart
2. выбираешь твой диск, например, если флешка определилась как диск F
select volume f
3. назначаешь новую букву
assign letter=y
Вот только как из командной строки определять, какая буква присвоена флешке, не знаю)) )
Можно, в принципе, написать программу на Delphi, которая определяет букву флешки, соответствующим образом изменяет текст пакетного файла и запускает его на выполнение. Если интересно, пиши на мыло
regulum@inbox.ru :)
1. запускаешь DiskPart командой
diskpart
2. выбираешь твой диск, например, если флешка определилась как диск F
select volume f
3. назначаешь новую букву
assign letter=y
Вот только как из командной строки определять, какая буква присвоена флешке, не знаю)) )
Можно, в принципе, написать программу на Delphi, которая определяет букву флешки, соответствующим образом изменяет текст пакетного файла и запускает его на выполнение. Если интересно, пиши на мыло
regulum@inbox.ru :)
Это что-то новенькое! О таком даже и не слышала, чтобы логическое имя можно изменить!)))
Внимательно прочти здесь: http://support.microsoft.com/kb/223188/ru
Много лет хотел это сделать, да всё руки не доходили :)
Вот мой вариант "чистого" cmd.
Запускать только с той флешки/диска, которому хотите поменять букву, желаемая буква задаётся в строчке set newdiskletter=
Создаём командный файл _SetDiskTo_.cmd со следующим содержимым:
rem Здесь указываем желаемую букву диска
set newdiskletter=O
set olddiskletter=%~D0
echo select volume %olddiskletter:~0,1% >1temp.txt
echo list volume >>1temp.txt
echo assign letter=%newdiskletter% >>1temp.txt
diskpart /s 1temp.txt
Запускаем с флешки - желаемая буква задана :)
ВНИМАНИЕ!!! Скрипт не проверяет тип диска, откуда запускается, не запускайте его с диска C и других постоянных дисков.
Вот мой вариант "чистого" cmd.
Запускать только с той флешки/диска, которому хотите поменять букву, желаемая буква задаётся в строчке set newdiskletter=
Создаём командный файл _SetDiskTo_.cmd со следующим содержимым:
rem Здесь указываем желаемую букву диска
set newdiskletter=O
set olddiskletter=%~D0
echo select volume %olddiskletter:~0,1% >1temp.txt
echo list volume >>1temp.txt
echo assign letter=%newdiskletter% >>1temp.txt
diskpart /s 1temp.txt
Запускаем с флешки - желаемая буква задана :)
ВНИМАНИЕ!!! Скрипт не проверяет тип диска, откуда запускается, не запускайте его с диска C и других постоянных дисков.
и к чему же могут понадобится такие глупости :) ну не суть.
@echo off
if exist y: (
echo "Letter is busy"
) else (
subst y: .
запуск нужного приложения
subst y: /d
)
@echo off
if exist y: (
echo "Letter is busy"
) else (
subst y: .
запуск нужного приложения
subst y: /d
)
Была такая же проблема, юзай mwfix


Похожие вопросы
- как отформатировать жёский диск "C" через командную строку?
- Как с помощью командной строки все файлы с расширением .ехе с диска С скопировать в папку Р1 на диске С?
- Почему разработчики не доработали возможность полноценной работы с компьютером в командной строке ?)
- Вопрос про командную строку!
- Командная строка. Полезные вещи
- Вопрос по .bat файлу. Как создать пустой txt файл через командную строку?
- Аргументы командной строки (С)
- НАСЧЁТ MC DOS!!! про командные строки
- Господа программисты! Помогите пжл форматнуть флешку в формате NTFS через командную строку Windows XP?
- Что нужно сделать чтобы командная строка выводила русский текст?