suffix per sript ändern

Diskutiere mit über: suffix per sript ändern im Scripting und Automatisierung Forum

  1. chanel96

    chanel96 Thread Starter MacUser Mitglied

    Beiträge:
    42
    Zustimmungen:
    0
    Registriert seit:
    28.03.2006
    hallo,
    ich habe einen ordner in dem sich an die 1000 dateien befinden deren namen ich behalten, aber die datei-endung ändern möchte.
    ich denke dass es per script nicht besonders schwer sein wird.
    leider ist bei mir plan<0 was das angeht.
    wäre jemand bereit mir zu helfen ?
    möchte nichts extra dafür installieren und mit dem automator hab ichs auch nicht hinbekommen.

    danke
    ch.
     
  2. bequiet

    bequiet MacUser Mitglied

    Beiträge:
    1.187
    Zustimmungen:
    149
    Registriert seit:
    16.04.2005
    Also, folgende Befehle erzeugen in dem Ordner in dem die dateien liegen einen Unterordner "new" in den die dateien kopiert werden und mit "DIENEUEDATEIENDUNG" versehen werden.

    Auszuführen ist es wie folgt:
    Das Terminal öffnen, und mit cd "VERZEICHNISNAME" in das Verzeichnis wechslen in dem die dateien liegen.
    Dann den Code per Copy&Paste in das Terminal einfügen.
    Natürlich das "DIENEUEDATEIENDUNG" mit deiner gewünschten ersetzen.
    und dann mit ENTER ausführen.

    wichtig: Das Script funktioniert nur sauber, wenn die vorhandenen Dateien keinen "." ( in Worten Punkt ) im Namen haben, sondern nur das Suffix mit einem Punkt getrennt ist

    hinweis: Benutzung auf eigene gefahr. Mach vorher eine Sicherheitskopie ;)
    Code:
    NEWSUF="DIENEUEDATEIENDUNG"; for FILE in ./*; do bn=`basename $FILE`; name=`echo $bn | awk -F'.' '{print $1}'`; suf=`echo $bn | awk -F'.' '{print $2}'`; if [ ! -d new ]; then mkdir new; fi; cp $FILE ./new/$name.$NEWSUF; done
     
  3. little_pixel

    little_pixel MacUser Mitglied

    Beiträge:
    3.803
    Zustimmungen:
    938
    Registriert seit:
    06.06.2006
    Hallo,

    ich habe Dir schnell etwas umgesetzt.

    Bitte herunterladen und folgende Schritte ausführen:

    - Skript doppelklicken
    - Im Finder die gewünschten Files makieren
    - Skript ausführen
    - Eingabe tätigen

    Fertig!

    Viel Spass und Erfolg!

    Viele Grüße

    PS: Dem Skript sind sämtliche Punkte, Sonderzeichen usw. egal. Es darf ein Dokument nur nicht "meinTest.pdf.pdf" heißen. Mit dem Namen "deinTest.doc.pdf" ist es kein Problem.
     
  4. chanel96

    chanel96 Thread Starter MacUser Mitglied

    Beiträge:
    42
    Zustimmungen:
    0
    Registriert seit:
    28.03.2006
    uff, das ging ja schnell ;)
    vielen dank euch beiden!
    ch.
     
  5. chebfarid

    chebfarid MacUser Mitglied

    Beiträge:
    894
    Zustimmungen:
    75
    Registriert seit:
    05.10.2005
    Hab' jetzt leider keine Möglichkeit, das Beispiel von "little_pixel" runterzuladen und auszuprobieren (by the way, ich fände es besser wenn Codebeispiele direkt in diesem Forum veröffentlicht würden, so haben alle was davon ;) ), aus dem Stand müßte foldendes gehen:
    Gleicher Hinweis wie im Unix-Beispiel von "bequiet": das Script funktioniert nur, wenn der Filename nicht mehr als einen Punkt enthält...
    PHP:
    set otid to text item delimiters
    set text item delimiters to 
    "."
    set newSuffix to ".xxx"
    set f to choose folder
    tell application 
    "Finder"
        
    set theFiles to every item of f
        repeat with aFile in theFiles
            set n to name of aFile
            set n to text item 1 of n
            set newName to n 
    newSuffix
            set name of aFile to newName
        end repeat
    end tell
    set text item delimiters to otid
    Frohes Scripten
    Farid
     
  6. little_pixel

    little_pixel MacUser Mitglied

    Beiträge:
    3.803
    Zustimmungen:
    938
    Registriert seit:
    06.06.2006
    Hallo,

    ich persönlich finde es nicht sehr ratsam den "." (Punkt) als Trennzeichen zu verwenden. Das gibt Probleme bei Dateien, die mehrere Punkte enthalten.
    Ich setze einfach das Suffix selbst als Trennzeichen. Damit gibt es nur eine einzige Ausnahme: Zweimal das gleiche Suffix im Dateinamen.

    Hier der Code:

    Code:
    set altesSuffix to ""
    set neuesSuffix to ""
    
    
    tell application "Finder"
    	
    	
    	set sel to selection
    	
    	if sel is {} then
    		display dialog "Bitte die Files makieren." buttons {" OK "} default button 1 with icon 2
    	else
    		
    		display dialog "Altes Suffix angeben!" default answer "z.B: .txt" buttons {"OK"} default button 1 with icon note
    		set altesSuffix to text returned of result
    		
    		display dialog "Neues Suffix angeben!" default answer "z.B: .text" buttons {"OK"} default button 1 with icon note
    		set neuesSuffix to text returned of result
    		
    		
    		
    		repeat with nextesFile in sel
    			try
    				set holeNamen to name of nextesFile
    				set AppleScript's text item delimiters to altesSuffix
    				set nameTeilListe to text items of holeNamen
    			end try
    			
    			try
    				set namePraefix to first item of nameTeilListe
    				set neuerName to namePraefix & neuesSuffix
    				set anzahl to count of nameTeilListe
    				
    				if (anzahl > 2) then
    					display dialog "Das Dokument " & holeNamen & " ist nicht eindeutig. Es scheint mehrere Suffixe zu enthalten." buttons {" OK "} default button 1 with icon stop giving up after 1
    					
    				end if
    			end try
    			
    			try
    				with timeout of 1 seconds
    				set name of nextesFile to neuerName
    				end timeout
    			on error
    				display dialog "Das Dokument " & holeNamen & " konnte nicht umbennant werden." buttons {" OK "} default button 1 with icon stop giving up after 1
    			end try
    			
    		end repeat
    		
    	end if
    	
    end tell
    
    Viele Grüße

    Skript schon geändert. Funktioniert.
     
    Zuletzt bearbeitet: 21.12.2006
  7. chanel96

    chanel96 Thread Starter MacUser Mitglied

    Beiträge:
    42
    Zustimmungen:
    0
    Registriert seit:
    28.03.2006
    ok, bin nun dazu gekommen das script von little_pixel zu testen und muß leider sagen es funktioniert nicht.
    bekomme immer die meldung dass folgende datei 'xyz.wav' nicht umbenannt werden kann.
    manche dateien sehen so aus 'PS56TG.WAV.wav', is klar, geht nicht , hat er ja auch geschrieben.
    andere wiederum sehen so '24DIL-C-0.wav' oder auch so 'unibassC.wav' aus, müssten also eigentlich gehen, oder nicht!?
    demnach funktioniert die varriante von bequiet auch nicht für alle meine files da ja in manchen zwei punkte auftauchen.

    hmm,sonst jemand n rat
     
  8. little_pixel

    little_pixel MacUser Mitglied

    Beiträge:
    3.803
    Zustimmungen:
    938
    Registriert seit:
    06.06.2006
    Hallo,

    na wenn die Meldung kommt, dann funktioniert es doch einwandfrei :)
    Ich habe die Meldung in einem try-catch eingebaut. D.h. Wenn die Datei nicht umbenannt werde darf, dann soll die Meldung kurz erscheinen:

    Mögliche Gründe:

    - Dateien sind in Verwendungen
    - Zuriffsrechte nicht ausrechend

    Viele Grüße
     
  9. chanel96

    chanel96 Thread Starter MacUser Mitglied

    Beiträge:
    42
    Zustimmungen:
    0
    Registriert seit:
    28.03.2006
    ok so kann man das auch sehen.
    allerdings sind die dateien nicht in verwendung und ich kann sie von hand umbenennen. somit dürfte die rechtefrage auch geklärt sein!?

    ch.
     
  10. little_pixel

    little_pixel MacUser Mitglied

    Beiträge:
    3.803
    Zustimmungen:
    938
    Registriert seit:
    06.06.2006
    Bau bitte mal ein:

    with timeout of 1 seconds
    set name of nextesFile to neuerName
    end timeout

    Anstelle von nur:

    set name of nextesFile to neuerName

    Viele Grüße
     
Die Seite wird geladen...
Ähnliche Themen - suffix per sript Forum Datum
"Monitore erkennen" per Automator Scripting und Automatisierung 13.11.2016
applescript Suffix weglassen? Scripting und Automatisierung 26.06.2012
Suffix automatisch entfernen Scripting und Automatisierung 05.10.2009
AppleScript für automatische Suffix (-Dateierkennung) Scripting und Automatisierung 15.04.2007
Suffix per Applescript "nicht übernehmen/anzeigen" Scripting und Automatisierung 20.01.2007

Diese Seite empfehlen

Benutzerdefinierte Suche