После вставки USB запишите уникальный идентификатор, отформатируйте диск в FAT32 и скопируйте файл. Баш или Питон - PullRequest
2 голосов
/ 03 июня 2010

Это то, что я хочу сделать,

  • вставьте USB-накопитель.
  • смонтировать его.
  • запись уникальной строки идентификатора в файл.
  • отформатируйте диск в FAT32.
  • скопировать текстовый файл на диск.
  • размонтировать его.
  • снимите диск.

30 раз

Ситуация такая, я купил 30 usb накопителей. Мне нужно отформатировать каждый из них, чтобы он был чистым, мне нужна уникальная строка с каждого устройства. Мне нужно положить один и тот же текстовый файл на каждый.

Я не очень хорош в написании сценариев, но могу читать и следовать bash и python.

Любые указатели приветствуются.

редактировать

Спасибо за ваш отдых.

Вот то, что я получил, в Windows.

Я использовал USBDeview от nirsoft.net параметры> дополнительные параметры> «выполнить следующую команду при вставке USB-устройства» и использовать следующую команду «python getserial.py% serial_number%»

Сценарий getserial.py помещает% serial_number%, переданный из USBDeview, в текстовый файл, а затем копирует файл на устройство USB.

import sys
import shutil

sourceFile = "C:\\^READ ME.txt"
destinationFile = "E:\\^READ ME.txt"

f = open('serials.txt', 'a')
f.write(sys.argv[1] + '\n')
f.close()

from time import sleep

sleep(3)

shutil.copyfile(sourceFile, destinationFile)

По-прежнему был бы заинтересован полный сценарий, который мог бы сделать это, но я думаю, что он находится за пределами моих возможностей на данный момент.

1 Ответ

2 голосов
/ 03 июня 2010

Для автоматического обнаружения вставленного USB-накопителя вы можете использовать autofs . К сожалению, он не может запустить скрипт, когда устройство вставлено, в противном случае другие шаги могут быть выполнены довольно легко.

Итак, вам нужно обнаружить, что авторы установили новую флешку. crontab может быть решением для периодической проверки, смонтирован ли диск, и если да, то ваши шаги могут быть выполнены. Единственное, что нужно - это определить, обработал ли вы уже смонтированный диск или нет (т. Е. Диск новый или нет)

Чтобы найти UUID, вы можете взглянуть на ls /dev/disk/by-uuid или blkid и использовать их вывод для фактического получения UUID. Форматирование вашего диска может быть сделано с помощью чего-то вроде mkfs -t vfat /dev/<your usb drive here>.

Надеюсь, эти указатели помогут вам решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...