Dateinamen eines bestimmten Typs kürzen auf vier Stellen

  • 4 Antworten
  • Neuester Beitrag
Diskutiere Dateinamen eines bestimmten Typs kürzen auf vier Stellen im Automatisierung - Tasker im Bereich Tools.
H

henne01278

Neues Mitglied
Hall liebe Forengemeinde,

ich möchte eine einzige Datei automatisch nach dem Kopieren in einen bestimmten Ordner umbenennen. Die ersten vier Zahlen sollen erhalten bleiben, gleichermaßen die Dateiendung .apk. Ich möchte die Datei, welche sich ab und an wechselt, um alle weiteren Informationen im Namen bereinigen. Wie bekomme ich das hin?

Beispieldateiname: 1234_en_abc_v1.apk
Zielname: 1234.apk

Egal, wie viel hinter den ersten vier Zahlen steht, das soll weg. Geht sowas mit Tasker? Den Kopierprozess, das Prüfen des Ordners usw. habe ich bereits gelöst. Den Befehl rename scheint es in Tasker nicht zu geben, oder?

Vielen Dank für eure Hilfe!

PS.: Ich tue mich leider schwer, folgendes so anzupassen, dass es funktioniert.

Code:
for i in /storage/sdcard1/videos/*.mp4;do mv "$i" "${i//\.mp4/\.mov}";done
und

Code:
$ for i in *.jpg; do echo mv $i ${i:0:2}.jpg; done
Letzterer Code läuft leider nicht in Tasker.
 
Zuletzt bearbeitet:
H

hdn

Neues Mitglied
@henne01278

Hallo,
hab hier einen Vorschlag, wie es mit Tasker - Aktionen ohne zu Scripten gehen würde.

Backup (10)

A1: Variable Set [ Name:%directory To:/sdcard/DCIM/Camera Recurse Variables:Off Do Maths:Off Append:Off ]
A2: List Files [ Dir:%directory Match: Include Hidden Files:Off Use Root:Off Sort Select:Modification Date Variable:%file Continue Task After Error:On ]
A3: If [ %file1 Set ]
A4: For [ Variable:%file Items:%file() ]
A5: Variable Set [ Name:%var To:%file Recurse Variables:Off Do Maths:Off Append:Off ]
A6: Variable Split [ Name:%var Splitter:%directory/ Delete Base:Off ]
A7: Variable Set [ Name:%name To:%var2 Recurse Variables:Off Do Maths:Off Append:Off ]
A8: Variable Split [ Name:%name Splitter:. Delete Base:Off ]
A9: Variable Section [ Name:%name1 From:1 Length:4 Adapt To Fit:Off Store Result In:%name1 ]
A10: Copy File [ From:%file To:/storage/48D7-0D51/-DCIM/Bilder/%name1.%name2 Use Root:Off ]
A11: End For
A12: End If

Hierbei werden ALLE Dateien aus dem Verzeichnis "/sdcard/DCIM/Camera" (siehe A1) in das Verzeichnis "/storage/48D7-0D51/-DCIM/Bilder" (siehe A10) kopiert und dabei gleich nach Deinem Wunsch umbenannt. ACHTUNG: Existiert schon eine gleichnamige Datei im Zielverzeichnis, wird sie rigoros überschrieben! In dem Beispiel werden alle Fotos vom internen Speicher auf die SD-Karte kopiert und dabei nur mit den ersten 4 Stellen des ursprünglichen Namens + Dateiendung benannt. (Die Namenskürzung auf 4 Stellen macht mit Fotos natürlich keinen Sinn. Ich hab es halt damit getestet.)
Wichtig: Bei (A8) als "Splitter" den Punkt nicht übersehen!

Grüßle,
hdn
 
H

henne01278

Neues Mitglied
Vielen Dank für die Lösung der Aufgabe. Leider bekomme ich ein Problem angezeigt in Bezug auf die if-Funktion:
screenshot_2017-01-25jyaai.png

Code:
<TaskerData sr="" dvi="1" tv="4.9u4m">
    <Task sr="task8">
        <cdate>1485372080496</cdate>
        <edate>1485375249027</edate>
        <id>8</id>
        <nme>Test6</nme>
        <pri>100</pri>
        <Action sr="act0" ve="7">
            <code>547</code>
            <Str sr="arg0" ve="3">%directory</Str>
            <Str sr="arg1" ve="3">/storage/emulated/0/Download/copytool</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
            <Int sr="arg4" val="0"/>
        </Action>
        <Action sr="act1" ve="7">
            <code>412</code>
            <Str sr="arg0" ve="3">%directory</Str>
            <Str sr="arg1" ve="3"/>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
            <Int sr="arg4" val="6"/>
            <Str sr="arg5" ve="3">%file</Str>
        </Action>
        <Action sr="act10" ve="7">
            <code>40</code>
        </Action>
        <Action sr="act11" ve="7">
            <code>38</code>
        </Action>
        <Action sr="act2" ve="7">
            <code>37</code>
            <ConditionList sr="if">
                <Condition sr="c0" ve="3">
                    <lhs>%file1</lhs>
                    <op>12</op>
                    <rhs>Set</rhs>
                </Condition>
            </ConditionList>
        </Action>
        <Action sr="act3" ve="7">
            <code>39</code>
            <Str sr="arg0" ve="3">%file</Str>
            <Str sr="arg1" ve="3">%file()</Str>
        </Action>
        <Action sr="act4" ve="7">
            <code>547</code>
            <Str sr="arg0" ve="3">%var</Str>
            <Str sr="arg1" ve="3">%file</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
            <Int sr="arg4" val="0"/>
        </Action>
        <Action sr="act5" ve="7">
            <code>590</code>
            <Str sr="arg0" ve="3">%var</Str>
            <Str sr="arg1" ve="3">%directory/</Str>
            <Int sr="arg2" val="0"/>
        </Action>
        <Action sr="act6" ve="7">
            <code>547</code>
            <Str sr="arg0" ve="3">%name</Str>
            <Str sr="arg1" ve="3">var2</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
            <Int sr="arg4" val="0"/>
        </Action>
        <Action sr="act7" ve="7">
            <code>590</code>
            <Str sr="arg0" ve="3">%name</Str>
            <Str sr="arg1" ve="3"/>
            <Int sr="arg2" val="0"/>
        </Action>
        <Action sr="act8" ve="7">
            <code>597</code>
            <Str sr="arg0" ve="3">%name1</Str>
            <Int sr="arg1" val="1"/>
            <Int sr="arg2" val="4"/>
            <Int sr="arg3" val="0"/>
            <Str sr="arg4" ve="3">%name1</Str>
        </Action>
        <Action sr="act9" ve="7">
            <code>404</code>
            <Str sr="arg0" ve="3">%file</Str>
            <Str sr="arg1" ve="3">Download/test/%name1.%name2</Str>
            <Int sr="arg2" val="0"/>
        </Action>
    </Task>
</TaskerData>
Irgendetwas muss ich falsch eingegeben haben. Dabei raus kommt dann eine umbenannte Datei, wie sie hier zu sehen ist:
screenshot_2017-01-25qaj77.png


Vielen Dank für die Hilfestellung und die Mühe!
 
Zuletzt bearbeitet:
Bearbeitet von cptechnik - Grund: Bilder in den Beitrag geholt - Gruß cptechnik
H

hdn

Neues Mitglied
Hallo,

bei Aktion 7 fehlt das Prozentzeichen vor "var2" und bei Aktion 8 fehlt der Teiler "." (Das hatte ich extra noch mal erwähnt, weil man so einen einzelnen kleinen Punkt leicht übersieht.

Grüßle und viel Erfolg,
hdn
 
H

henne01278

Neues Mitglied
Ich danke dir für die weitere Hilfe. Ich habe es nun - genau so wie du es beschrieben hast - umsetzen können! Es läuft...
 
Ähnliche Themen - Dateinamen eines bestimmten Typs kürzen auf vier Stellen Antworten Datum
1
3
7