2010-06-03 5 views
2
이 내가하고 싶은 것입니다

,USB 삽입시, 고유 식별 기호를 기록하고 드라이브를 FAT32로 포맷하고 파일을 복사하십시오. Bash는 파이썬

  • USB 플래시 드라이브를 삽입합니다.
  • 마운트하십시오.
  • 파일에 고유 식별자 문자열을 기록합니다.
  • 드라이브를 FAT32로 포맷하십시오.
  • 드라이브에 텍스트 파일을 복사하십시오.
  • 언 마운트하십시오.
  • 드라이브를 제거하십시오. 상황이이다

30 배

, 나는 30 개의 USB 드라이브를 구입했다. 나는 그들이 깨끗한 지 확인하기 위해 각각을 포맷 할 필요가있다. 나는 각 장치에서 유일한 문자열이 필요하다. 나는 각각에 동일한 txt 파일을 넣어야한다.

나는 스크립트 작성에별로 좋지 않지만 bash와 python을 읽고 따라갈 수있다.

모든 포인터가 감사하겠습니다.

편집은 resposes 주셔서 감사합니다.

여기 제가 지금까지 창문에서 가지고있는 것이 있습니다.

나는 "당신이 USB 장치를 삽입 할 때 다음 명령을 실행합니다"> nirsoft.net 옵션> 고급 옵션에서 USBDeview을 사용하고 다음 명령 "파이썬 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

당신은 당신의 시스템에 대한 좀 더 많은 정보를 주실 수 있습니다, 드라이브를 마운트 아마도 꽤 시스템 specificific입니다 – thepandaatemyface

답변

2

삽입 된 USB 플래시 드라이브를 자동으로 감지하려면 autofs을 사용할 수 있습니다. 불행히도 장치가 삽입 될 때 스크립트를 실행할 수 없으며, 그렇지 않으면 다른 단계를 아주 쉽게 수행 할 수 있습니다.

그래서 autofs가 새 플래시 드라이브를 마운트했는지 확인해야합니다. crontab은 디스크가 마운트되어 있는지 여부를 주기적으로 확인하는 솔루션 일 수 있으며, 그렇다면 단계를 수행 할 수 있습니다. 마운트 된 디스크를 이미 처리했는지 여부를 감지하는 것만 가능합니다. (예 : 디스크가 새 것인가?)

UUID를 찾으려면 ls /dev/disk/by-uuid 또는 blkid을보고 그 결과를 사용하여 실제로 UUID. 드라이브 포맷은 mkfs -t vfat /dev/<your usb drive here>을 사용하여 수행 할 수 있습니다.

이러한 포인터는 문제를 해결하는 데 도움이되기를 바랍니다.

+0

응답 주셔서 감사합니다,이 올바른 방향으로 날 지적했다.미안 해요. 투표 할 수 없어요. – samsixty