Schalter: Kopie erzeugen und Kopie wieder als Original

Aktuelle Version: 12.7 (23.11.2017)
Alles zum Thema Directory Opus
Antworten
josinoro
Beiträge: 166
Registriert: 4. Aug 2013 19:58
Version DOpus: Pro

Schalter: Kopie erzeugen und Kopie wieder als Original

Beitrag von josinoro » 12. Okt 2015 19:52

Hallo Profis,

in den Schaltersammlungen gibt es einen Schalter, welcher Duplizieren und umbenennen heißt.
Dieser dupliziert alle markierten Dateien und Ordner und benennt sie automatisch um.

Code: Alles auswählen

Copy DUPLICATE AS "{file|noext} (Kopie){file|ext}" WHENEXISTS=rename
dadurch wird aus Datei.txt => Datei (Kopie).txt.

weiter gibt es einen Schalter mit der Bezeichnung Inhalt der (Klammern) am Ende des Namens entfernen.
Dieser entfernt den Inhalt einschliesslich der Klammern, wenn sie am Ende eines Namens stehen.

Code: Alles auswählen

Rename TYPE=files REGEXP PATTERN "(.+)\(.+\)(\..*)" TO "\1\2" AUTORENAME
Rename TYPE=dirs REGEXP PATTERN "(.+)\(.+\)" TO "\1" AUTORENAME
@NODESELECT
dadurch wird aus Datei (Kopie).txt => Datei .txt.

Was mich jetzt stört ist das Leerzeichen zwischen dem Dateinamen und dem Punkt.

Ideal wären zwei Schalter, mit denen man einmal eine Kopie einer Datei oder eines Ordners anlegen und einen anderen Schalter, mit dem man die Kopie bei Bedarf wieder mit dem Originalnamen benennen kann. Die nicht mehr benötigte Datei sollte dann entweder gelöscht oder umbenannt werden.

Wie kann man das realisieren?

MfG

josinoro

Benutzeravatar
Kundal
Moderator
Beiträge: 1341
Registriert: 20. Apr 2010 21:26
Betriebssystem: Win7 & Win 10 Pro 64 bit
Produkt: DOpus 12 x64 - Letzte Betaversion
Version DOpus: Pro

Re: Schalter: Kopie erzeugen und Kopie wieder als Original

Beitrag von Kundal » 13. Okt 2015 02:51

Das Leerzeichen vor der Klammer bekommst du hiermit weg:

Code: Alles auswählen

@NODESELECT
Rename TYPE=files REGEXP PATTERN "(.+[^ ]+)[ ]*\(.+\)(\..*)" TO "\1\2" AUTORENAME
Rename TYPE=dirs REGEXP PATTERN "(.+[^ ]+)[ ]*\(.+\)" TO "\1" AUTORENAME
Ich habe mal einen Schalter erstellt, der mit einem Klick die Namen der Dateien Name (Kopie).ext und Name.ext austauscht. Der Schalter ist sicher nicht ideal und etwas "zappelig", weil mehrfach die Auswahl gewechselt werden muss. Eine elegantere Lösung, auch mit Abfrage ob das Original gelöscht oder umbenannt werden soll, wäre mit einem kleinen Script zu machen.

Damit der Schalter funktioniert, muss zu Beginn nur die Datei Name (Kopie).ext ausgewählt sein! In der Sortierung muss die Kopie außerdem direkt unter dem Original liegen.

Code: Alles auswählen

Rename PATTERN " (Kopie)" TO "#" FINDREP 
Select PREV
dopusrt /acmd Rename TO "{file|noext} (Kopie){file|ext}"
Select Next 
dopusrt /acmd Rename PATTERN "#" TO "" FINDREP 
Select Next
dopusrt /acmd Rename PATTERN "#" TO "" FINDREP 
Wenn du das Original löschen willst reicht ein Zweizeiler.
Diesmal muss das Original ausgewählt sein und die Kopie muss unmittelbar darunter liegen.

Code: Alles auswählen

@nodeselect 
Delete
dopusrt /acmd Rename PATTERN " (Kopie)" TO "" FINDREP

josinoro
Beiträge: 166
Registriert: 4. Aug 2013 19:58
Version DOpus: Pro

Re: Schalter: Kopie erzeugen und Kopie wieder als Original

Beitrag von josinoro » 13. Okt 2015 17:42

Hallo Kundal,

vielen Dank für deine Mühe.

der Schalter zum Vertauschen der Dateinamen funktionierte bei mir nicht. Es blieb immer ein # im Dateinamen stehen.

Deshalb habe ich deinen Code im try and error Verfahren um zwei Zeilen erweitert:

Code: Alles auswählen

Rename PATTERN " (Kopie)" TO "#" FINDREP
Select PREV
dopusrt /acmd Rename TO "{file|noext} (Kopie){file|ext}"
Select Next
dopusrt /acmd Rename PATTERN "#" TO "" FINDREP
Select Next
dopusrt /acmd Rename PATTERN "#" TO "" FINDREP 
Select Next
dopusrt /acmd Rename PATTERN "#" TO "" FINDREP 
Damit funktioniert der Code, solange exakt zwei Dateien vorhanden sind, die sich lediglich um " (Kopie)" unterscheiden und der Fokus tatsächlich auf die Datei mit dem Namen Datei (Kopie).txt liegt.

Existiert zum Beispiel eine Datei1.txt, also keine Datei.txt, und eine Datei (Kopie).txt und der Cursor liegt auf Datei1.txt, was ja dann ein Anwenderfehler wäre, dann ändert sich der Dateiname von Datei (Kopie).txt in Datei1 (Kopie).txt.

Damit ist die Anwendung in der Tat etwas "zappelig".

Mit dem Löschen des Leerzeichens klappt tadellos.

MfG

josinoro

Benutzeravatar
Kundal
Moderator
Beiträge: 1341
Registriert: 20. Apr 2010 21:26
Betriebssystem: Win7 & Win 10 Pro 64 bit
Produkt: DOpus 12 x64 - Letzte Betaversion
Version DOpus: Pro

Re: Schalter: Kopie erzeugen und Kopie wieder als Original

Beitrag von Kundal » 13. Okt 2015 18:31

Hallo josinoro,
Die zwei zusätzlichen Zeilen brauchte ich (glaube ich) auch. War wohl ein Fehler beim Kopieren ins Forum. Wie gesagt, eine sichere und komfortable Lösung wird wohl nur ein Script bieten. Leider habe ich dazu im Moment keine Zeit weil ich ein paar Tage verreise. Vielleicht springt tbone ein...

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste