![]() |
batch file - определить букву флеш-диска
как сделать batch file который копировал на usb брелок ,сложность такая узнать какая буква будет у usb брелка
|
simon171078, не совсем понял.
|
Пока только приходит в голову использовать diskpart
diskpart /? |
Если ваш bat-файл запускается с USB-диска, то переменная %~d0 принимает значение буквы
диска. copy c:\myfile.txt %~d0\myusbdir\*.* Создайте батник с содержимым : ECHO Диск файла= %~d0 и все станет ясно. |
|
Цитата:
Код:
@echo off |
Pavlushka66, в этом твоём "здесь" никакого "как" не написано, фактически получается: "качайте исходник, разбирайтесь сами". В данной редакции выглядит как попытка продвинуть свой бложик.
В реальной практике я бы твой подход поостерёгся использовать - далёк от универсальности. Если речь идёт о конкретной флешке, я бы её идентифицировал по метке диска, а так велик шанс загнать файл на карточку от фотика или на телефон. Пользователям лучше не редактировать сам файл, а предусмотреть параметры запуска. |
SendMessage красивое решение... спасибо
Busla вопрос в том что к нам в отдел каждый день приходят люди из наших филиалов(которых около 60 по области), разные люди с разными флешками, на эти флешки мы скидываем одни и те же файлы, на компах нет ни карт-ридеров ничего подобного, казалось бы взять ту букву диска на которую у тебя монтируется флешка да написать батник на нее но, в отделе несколько человек, и у каждого флешка подрубается с разной буквой, делали несколько батников, в результате при изменении путей или еще чего-то каждый менял только свой батник и они быстро шли в рассинхрон.. нужно было сделать чтото, что бы работало, я это сделал, да некрасиво, да коряво, но в данном случае вполне достаточно, и главное что работало... и я решил поделиться потому как сам долго рыл инет в поисках ответа |
SendMessage, я бы добавил бы еще в сортировку свойство mediatype, дабы не копировать на флоппи, и какой-никакой пользовательский интерфейс :)
Код:
@Echo Off |
Помогите поправить скрипт (пост выше), чтобы при запуске появлялось сообщение "вставьте флешку". После втыкания флешки, определялась её буква, появлялась надпись "скопировать файлы на флеш" и копировались на неё файлы.
|
simon171078,
Код:
for %%i 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 %%i:\file set flash=%%i: Код:
for %%i 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 %%i:\flashdrive set flash=%%i: пысы:если при использовании батника вылезет сообщение сообщение с тремя кнопками и у вас есть картридер встроенный, то тыкаем пропустить и всё. у меня так и было. батник натыкается на включенную флешку но физически она не подключена, хоть и висит в "моём компьютере" как подключенная. пропускать и всё |
Вложений: 1
Вот еще вариант. Идея решения - запускаем vbs-скрипт, который определяет сменные накопители в состоянии готовности в системе и запускает батник, для которого параметр - буква: сменного диска.
В VBS-скрипте я организовал подтверждение на выбор сменного диска (на случай, если их несколько) Попутно выдаю информацию: метка тома, серийный номер, свободное место. Если задача ставится - выбрать первый попавшийся накопитель, можно упростить скрипт (удалится более половины строк), чтобы он ничего не спрашивал. Код:
' Скрипт находит сменные накопители на компьютере (кроме A:) Код:
@Echo Off |
А как насчёт моего вопроса в формате cmd?
|
sov44, Попробуйте вариант: Запускайте vbs-скрипт, он опросит имеющие сменные диски в состоянии готовности, запомнит их (если они есть), выдаст приглашение на подключение флэшки, определит появившуюся букву, запустит указанный Вами батник с параметром -буква диска: Пример батника в моём предыдущем посте
Код:
' Скрипт находит сменные накопители на компьютере (кроме A:) |
Цитата:
Код:
wmic logicaldisk where drivetype=2 get deviceid |
Время: 16:56. |
Время: 16:56.
© OSzone.net 2001-