Reihenfolge von Audio-Dateien auf USB-Stick

Das musst du nicht kompilieren, im Skript-Editor als App speichern.
Dann ist das einfach ein Droplet, d.h. du ziehst die Volume des Sticks drauf.
Dann fragt der nach dem Passwort und du siehst die Volume neu gemountet wird, dann ist sortiert.
Das hab ich jetzt gemacht. Auf den Stick scheint es aber keine Wirkung zu haben, dh die Stücke sind nicht in der Reihenfolge wie ich sie numeriert habe. -Warum meinst du wird Taggen nichts bringen? Weil die Box die Tags nicht beachtet? - Nach dem Passwort werde ich übrigens nicht gefragt, ich kriege die im screen shot gezeigte Meldung.
Screenshot 2023-10-27 at 18.33.06h.png
 
Auf den Stick scheint es aber keine Wirkung zu haben, dh die Stücke sind nicht in der Reihenfolge wie ich sie numeriert habe
Das ist eine Fehlermeldung, dass ein Befehl nicht richtig ist.
Was hast du drauf gezogen?
Die Volume vom Stick?
Wie ist die Volume benannt?
Frag mich gerade, ob das Script ein Problem mit Leerzeichen im Namen hat oder für aktuelle MacOS angepasst werden muss.

Edit:
Hab das Script leicht angepasst wegen Leerzeichen im Namen.
Code:
on open DropList
    repeat with objectRef in DropList
        set diskinfo to quoted form of (do shell script "diskutil info " & quoted form of POSIX path of objectRef)
        --display dialog diskinfo
        if "msdos" is in diskinfo then
            set device to do shell script "echo " & diskinfo & " | awk '{print $6}'"
            --display dialog diskinfo & return & device
            do shell script ":" with administrator privileges
            do shell script "diskutil unmount " & device
            do shell script "/usr/local/bin/fatsort -n " & device with administrator privileges
            do shell script "diskutil mount " & device
        else
            beep
            display alert "Error:" & return & return & objectRef & " is not a msdos device."
        end if
    end repeat
end open

Du hast geschrieben du hast Terminal Kenntnisse, probier doch mal den fatsort Befehl so aus.
Wahrscheinlich musst du dem Terminal noch Festplattenvollzugriff geben in Datenschutz.
 
Zuletzt bearbeitet:
Meine Terminal-Kenntnisse sind 8 Jahre alt und mikroskopisch. Ich meinte fatsort installiert zu haben. Wenn ich aber Stick SSK 01 auf das Droplet mit deinem neuen AppleScript ziehe, diese Fehlermeldung (Screen shot). Den Folder /local/bin/ finde ich nicht, er ist ja unsichtbar, und ich weiß nicht wie ich ihn sichtbar machen kann, die Mac Hilfe sagt's auch nicht. - Also dies Ganze schwillt sehr an, sag wenn du's leid bist.-
Der Terminal hat Vollen Disk Access bei mir.
Screenshot 2023-10-27 at 21.04.17h.png
 
Sich
Ich meinte fatsort installiert zu haben. Wenn ich aber Stick SSK 01 auf das Droplet mit deinem neuen AppleScript ziehe, diese Fehlermeldung (Screen shot). Den Folder /local/bin/ finde ich nicht, er ist ja unsichtbar, und ich weiß nicht wie ich ihn sichtbar machen kann, die Mac Hilfe sagt's auch nicht. - Also dies Ganze schwillt sehr an, sag wenn du's leid bist.
Macports installiert in einen anderen Ordner, glaube es war /opt/local/bin
Tipp mal im Terminal
which fatsort
Dann bekommst du den Pfad und kannst dem im Script anpassen.
Über den in Finder kannst du die Gehe Zu Ordner Menüleisten Funktion nutzen um in versteckte Ordner zu kommen.
 
das geht viel einfacher, es geht um die Titelnummer. 😀 wenn die nicht angepasst wurde, gehts nicht. Auch FAT32.
 
So bald ich kann, werde ich zunächst mal versuchen, meine Unix Kenntnisse zu re-animieren. Das kann aber etwas dauern. Ich melde mich dann wieder. Bis dahin zunächst mal vielen Dank bis hierhin.
 
Hatte das Problem auch mal, die Dateien per find in eine Reihe stecken und einzeln kopieren:

Code:
find -s *.mp3 -type f -exec cp -v {} /Volumes/'my volume name' \;

Das Argument -s sortiert. Man muss vorher noch in das entsprechende source Verzeichnis.

Ein AppleScript hatte ich auch mal gebaut:

'my volume name' muss in single quotes stecken falls es Leerzeichen enthält.


AppleScript:
on open of aFolder
    do_shell_script(aFolder)
end open

on run
    set the_folder to choose folder with prompt "copy which ?"
    do_shell_script(the_folder)
end run

on do_shell_script(the_path)
    set filepath to quoted form of (POSIX path of the_path)
    set the_result to (do shell script "find -s " & filepath & "/*.mp3" & " -type f -exec cp -v {} /Volumes/'my volume name'  \\;") -- copy in alphabetical order
    if the_result is "" then
        display dialog "failed"
    else
        display dialog the_result
    end if
end do_shell_script
 
Zuletzt bearbeitet:
Danke Macschrauber. Offensichtlich muss ich wie gesagt erst noch meine mikro Unix Kenntnisse re-animieren, bevor ich das verwerten kann.
 
Es braucht jetzt nicht so die Kenntnis den Pfad im Script anzupassen oder fatsort von Hand aufzurufen.
An sich ist es nur
sudo fatsort -n /dev/diskX
X musst du halt ersetzen.
Das Script ist eigentlich nur eine bequeme Automatisierung.
 
Wenn ich das eingebe, kriege ich folgende Antwort:

MacBookPro2015:~ hening$ sudo fatsort -n /dev/disk'SSK 01'
Password:
main: WARNING: The C locale does not support all multibyte characters!
check_mounted: Unable to get realpath of filename!
openFileSystem: Could not check whether filesystem is mounted!
sortFileSystem: Failed to open file system!
main: Failed to sort file system!

Der Disk steckt in einem USB Anschluss des Mac.

Offenbar muss ich noch was lernen/auf dem Mac einrichten.
 
/dev/disk'SSK 01'
Da mischst du den Volumenamen mit der Disknummer.
Das ist nicht so richtig.
Tipp mal vorher
mount
Oder
diskutil list
um zu sehen welche Disknummer es ist.

Oder schreib doch einfach mal
/opt/local/bin/fatsort
statt
/usr/local/bin/fatsort
In das Script.
Das ist doch nicht so schwierig.
 
  • Gefällt mir
Reaktionen: einPendler und dg2rbf
auf 'mount' kommt dies:
MacBookPro2015:~ hening$ mount
/dev/disk1s1 on / (apfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
/dev/disk1s4 on /private/var/vm (apfs, local, noexec, journaled, noatime, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
/dev/disk2s1 on /Volumes/SSK 01 (msdos, local, nodev, nosuid, noowners)
MacBookPro2015:~ hening$

Demnach wäre disk2s1 die Disknummer?

sudo fatsort -n/dev/disk2s1 ergibt:
MacBookPro2015:~ hening$ sudo fatsort -n/dev/disk2s1
Password:
parse_options: Unknown option '/'.
parse_options: Use -h for more help.
main: Failed to parse options!
MacBookPro2015:~ hening$
 
MacBookPro2015:~ hening$ sudo fatsort -n /dev/disk2s1
Password:
main: WARNING: The C locale does not support all multibyte characters!
openFileSystem: Filesystem is mounted. Please unmount!
sortFileSystem: Failed to open file system!
main: Failed to sort file system!
MacBookPro2015:~ hening$

Habe das Volume ausgeworfen und kriege:

MacBookPro2015:~ hening$ sudo fatsort -n /dev/disk2s1
main: WARNING: The C locale does not support all multibyte characters!
check_mounted: Unable to get realpath of filename!
openFileSystem: Could not check whether filesystem is mounted!
sortFileSystem: Failed to open file system!
main: Failed to sort file system!
MacBookPro2015:~ hening$
 
Zurück
Oben Unten