2010-06-03 25 views
2

这就是我想要做的,插入USB后,记录唯一的标识符,将驱动器格式化为FAT32并复制文件。 Bash or Python

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

30倍

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

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

任何指针,将不胜感激。

编辑

谢谢您的resposes。

这是我到目前为止,在Windows中。

我用USBDeview从nirsoft.net 选项>高级选项>“执行下面的命令,当你插入一个USB设备”,并使用下面的命令“蟒蛇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) 

仍然会对完整的脚本感兴趣,可以做到这一点,但我认为这超出了我的能力。

+0

可以给你一些关于你的系统的更多信息,安装驱动器可能是漂亮的系统特定的 – thepandaatemyface 2010-06-03 09:56:03

回答

2

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

因此,您需要检测autofs是否安装了新的闪存驱动器。 crontab可能是定期检查磁盘是否安装的解决方案,如果是这样,您的步骤可以执行。唯一的事情是检测你是否已经处理安装的磁盘或没有(即磁盘是新的或没有)

为了找到UUID,你可以看看ls /dev/disk/by-uuidblkid并使用它们的输出实际上抓住UUID。格式化您的驱动器可以使用像mkfs -t vfat /dev/<your usb drive here>这样的东西来完成。

希望这些指针能够帮助您解决您的问题。

+0

谢谢你的回应,这已经指出了我的正确方向。对不起,我不能投票,(新来的)。 – samsixty 2010-06-03 13:41:32

相关问题