2

これが私がやりたいことです、

  • USBフラッシュドライブを挿入します。
  • マウントします。
  • 一意の識別子文字列をファイルに記録します。
  • ドライブをFAT32にフォーマットします。
  • テキストファイルをドライブにコピーします。
  • マウントを解除します。
  • ドライブを取り外します。

30回

状況はこれです、私は30のusbドライブを購入しました。きれいになるようにそれぞれをフォーマットする必要があります。各デバイスからの一意の文字列が必要です。それぞれに同じtxtファイルを置く必要があります。

私はスクリプトを書くのは得意ではありませんが、bashとpythonを読んでフォローすることはできます。

任意のポインタをいただければ幸いです。

編集

よろしくお願いします。

これが私がこれまでに得たものです。

nirsoft.netオプション>詳細オプション>「USBデバイスを挿入するときに次のコマンドを実行する」からUSBDeviewを使用し、次のコマンド「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)

これを実行できる完全なスクリプトにはまだ興味がありますが、現時点では私の能力を超えていると思います。

4

1 に答える 1

2

挿入されたUSBフラッシュドライブを自動的に検出するには、 autofsを使用できます。残念ながら、デバイスが挿入されたときにスクリプトを実行することはできません。そうしないと、他の手順を非常に簡単に実行できます。

したがって、autofsが新しいフラッシュドライブをマウントしたことを検出する必要があります。crontabは、ディスクがマウントされているかどうかを定期的にチェックし、マウントされている場合は手順を実行できるソリューションである可能性があります。唯一のことは、マウントされたディスクをすでに処理したかどうか(つまり、ディスクが新しいかどうか)を検出することです。

UUIDを見つけるために、ls /dev/disk/by-uuidまたはblkidそれらの出力を使用して実際にUUIDを取得することができます。ドライブのフォーマットは、のようなものを使用して行うことができますmkfs -t vfat /dev/<your usb drive here>

うまくいけば、これらのポインタが問題の解決に役立つことを願っています。

于 2010-06-03T11:07:21.243 に答える