マイクロSDカードをストレージとして使用するMP3プレーヤーがあります。 SDカードはexFATでフォーマットされています。 MP3内のファイルをフォルダーの場所で参照すると、アルバムトラックの順序はアルファベット順ではなく、ファイルが追加された順序になります。各曲の前にトラック番号を追加しました(例:"01 TrackA"および"02 TrackB")が、それでも順番に表示されません。
私が見つけた唯一の回避策は、ファイルをSDカードに転送することです。転送が完了したら、アルバムフォルダーからすべてのトラックを取り出し、Windowsファイルエクスプローラーでアルファベット順に並べ替えてから、トラックをに戻します。アルバムフォルダ。そうすれば、MP3プレーヤーで閲覧すると、アルファベット順に表示されます。
音楽アルバムごとに上記のプロセスを実行する代わりに、SD内のすべてのファイルをアルファベット順に自動的に並べ替える方法を見つけたいと思います。 FAT32ドライブを並べ替えることができるいくつかのプログラムについて聞いたことがありますが、exFATでは見たことがありません。
私は見つけました SDソーター これはFAT、FAT32、exFATでソートします
FATtoolsはオープンソースのコレクションですPython FATパーティションを管理するための PyDiskTools から派生したスクリプト。その機能の1つは、exFATドライブ内のエントリを含むFATエントリの並べ替えです。
一部のハードウェアMP3プレーヤーの制限に対処するために、FAT32ルートテーブルのディレクトリエントリを任意の順序で再ソートするために生まれ、Python 2.7(32-および64ビット)FAT12/16/32およびexFATファイルシステムの場合、ハッキングおよびリカバリの目的で。
並べ替えるには、以下をPythonスクリプト、たとえばsortExFat.py
として保存し、ドライブ(この場合はX:
)とファイルを配置する順序を設定します。 new_order
from Volume import *
# Assuming we have DirA, DirB, DirC in this disk order into X:
root = vopen('X:', 'r+b')
new_order = '''DirB
DirC
DirA'''
root._sortby.fix = new_order.split('\n') # uses built-in directory sort algorithm
root.sort(root._sortby)
次に、python sortExFat.py
を実行します