【问题标题】:Upon USB insert, record unique identifer sting, format drive to FAT32 and copy a file. Bash or Python插入 USB 后,记录唯一标识符字符串,将驱动器格式化为 FAT32 并复制文件。 Bash 或 Python
【发布时间】:2023-03-17 20:22:01
【问题描述】:

这就是我想做的,

  • 插入 USB 闪存驱动器。
  • 安装它。
  • 将唯一标识符字符串记录到文件中。
  • 将驱动器格式化为 FAT32。
  • 将文本文件复制到驱动器。
  • 卸载它。
  • 卸下驱动器。

30 次

情况是这样的,我买了30个U盘。我需要格式化每一个以确保它们是干净的,我需要每个设备的唯一字符串。我需要在每个文件上放置相同的 txt 文件。

我不擅长编写脚本,但可以阅读和遵循 bash 和 python。

任何指针将不胜感激。

编辑

感谢您的回复。

这是我目前在 Windows 中得到的。

我使用了来自 nirsoft.net 的 USBDeview 选项>高级选项>“插入USB设备时执行以下命令”并使用以下命令“python getserial.py %serial_number%”

getserial.py 脚本将从 USBDeview 传递的 %serial_number% 放入一个文本文件,然后将一个文件复制到 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)

仍然会对可以执行此操作的完整脚本感兴趣,但我认为目前这超出了我的能力范围。

【问题讨论】:

  • 您能否提供更多有关您系统的信息,安装驱动器可能是系统特定的

标签: python bash detect usb-drive


【解决方案1】:

为了自动检测插入的 USB 闪存驱动器,您可以使用 autofs。不幸的是,它无法在插入设备时运行脚本,否则其他步骤可以很容易地执行。

因此,您需要检测 autofs 安装了一个新的闪存驱动器。 crontab 可能是定期检查磁盘是否已安装以及是否可以执行您的步骤的解决方案。唯一的事情就是检测你是否已经处理了挂载的磁盘(即磁盘是新的还是不是新的)

为了找到 UUID,您可以查看 ls /dev/disk/by-uuidblkid 并使用它们的输出来实际获取 UUID。可以使用 mkfs -t vfat /dev/<your usb drive here> 之类的方式格式化您的驱动器。

希望这些提示可以帮助您解决问题。

【讨论】:

  • 感谢您的回复,这为我指明了正确的方向。抱歉,我不能投票,(这里是新的)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多