Find RAW Befehl ?

Aktuelle Version: 12.7 (23.11.2017)
Alles zum Thema Directory Opus
Antworten
Mecum
Beiträge: 101
Registriert: 13. Dez 2008 13:34
Betriebssystem: Windows 7 Pro
Produkt: DOpus 11
Version DOpus: Pro

Find RAW Befehl ?

Beitrag von Mecum » 4. Nov 2015 16:59

Und wieder mal steig ich einfach nicht durch die Logik der DOpus Scriptbefehle durch. Was für mich in keiner Script - oder Programmiersprache jemals ein Problem war (mittlerweile bin ich dazu übergegangen, viele der automatischen Dateioperationen in VBScript zu machen und als Schalter einzubinden, obwohl DOpus das sicherlich auch könnte), bei DOpus stosse ich an meine Grenzen^^. Da ich allerdings einfach nicht die Zeit habe, durch Try&Error zur Lösung zu kommen, bin ich so frei, einfach wieder mal hier anzufragen^^.

Was ich möchte, ist in 2 Dateitypen (*.txt und *.log) nach bestimmten Textbausteinen zu suchen. Die Dateien selbst befinden sich im Flatviewmode des aktiven Register.

Folgender Schalter soll um eine InDateiTextsuche erweitert werden:

Code: Alles auswählen

Set FLATVIEW=grouped
Select PATTERN="(*.txt|*.log)"
"C:\Programme (portable)\+ ..... System & Utilities\+ ..... Dateien & Ordner\dos2unix\bin\unix2dos.exe" -f -k {filepath}
Select DESELECT PATTERN="~(*.log)"
@async "C:\Programme (portable)\+ ..... System & Utilities\+ ..... Dateien & Ordner\LogChecker\LC.exe" {filepath}
Der folgende Versuch wie auch einige weitere abgewandelte führten leider nicht zum Ziel:

Code: Alles auswählen

Select PATTERN="(*.txt|*.log)"
Find (*.txt|*.log) CONTAINING ("failed"|"JBcon")
Genial wäre, dass, wenn sich keiner der Textbausteine in einer der Dateien finden lässt, DOpus auch keine Suchsammlung anzeigen würde, sondern der Fokus weiterhin im aktuell geöffneten Flatview-Register bliebe, was ein manuelles Zurückgehen überflüssig machen würde.

Vielen Dank für jeden Hinweis
Mecum

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: Find RAW Befehl ?

Beitrag von Kundal » 4. Nov 2015 17:58

Mit dem Argument CONTAINING funktioniert die Auswahl mehrerer Alternativen mit "|" nicht. Du musst also mehrere Zeilen dafür schreiben und verhindern, dass der Inhalt der Sammlung für die zweite Suche bereinigt wird. Dies sollte auch ohne Flatview funktionieren.

Code: Alles auswählen

Find *.(txt|log) CONTAINING failed IN {sourcepath} RECURSE CLEAR 
Find *.(txt|log) CONTAINING JBcon IN {sourcepath} RECURSE CLEAR=no 
Die Select-Befehle brauchst du wohl erst, um die gefundenen Dateien in der Sammlung auszuwählen. Wenn du das Öffnen einer leeren Sammlung verhindern willst, wenn nichts gefunden wurde wirst du ein Script benötigen, das automatisch zurück geht, wenn die Sammlung leer ist.

Benutzeravatar
tbone
Berater
Beiträge: 405
Registriert: 22. Nov 2014 21:16
Betriebssystem: 7*64
Produkt: aktuelle Beta-Version
Version DOpus: Pro

Re: Find RAW Befehl ?

Beitrag von tbone » 4. Nov 2015 18:09

Ja, der Find scheint einige Unschärfen zu haben. Das ist was Deinem Wunsch vielleicht am nächsten kommt:

Code: Alles auswählen

Find *(.txt|.log) CONTAINING="failed" IN {sourcepath$} CLEAR
Find *(.txt|.log) CONTAINING="JBcon"  IN {sourcepath$} CLEAR=no
Kundal, Dein Vorschlag ist sehr ähnlich - mit dem RECURSE Param, aber noch besser als meiner! o)

Ich habe noch etwas probiert, folgendes geht *nicht*:
- Wildcards mit CONTAINS (weil wohl noch ein Switch wie WILD or REGEX fehlt?)
- Alternativen mit CONTAINS (wie von Kundal schon geschildert)
- Selektierte Dateien übergeben um darin zu suchen (das Find Panel nimmt sie dennoch an, sieht man mittels NOAUTORUN)
- Das Suchergebnis nicht anzeigen, wenn es keine Treffer gibt (könnte man allerdings scripten)

Mecum, die DO internen Befehle und Button-Logik sind manchmal esotherisch, ohne Frage! o)

Mecum
Beiträge: 101
Registriert: 13. Dez 2008 13:34
Betriebssystem: Windows 7 Pro
Produkt: DOpus 11
Version DOpus: Pro

Re: Find RAW Befehl ?

Beitrag von Mecum » 4. Nov 2015 18:58

Ok, damit ist mir schon sehr geholfen.
Jetzt weiss ich zumindest was geht und was nicht, und was wie geht und was vielleicht mal irgendwann noch gehen könnte...^^

Danke euch beiden :D

Antworten

Wer ist online?

Mitglieder in diesem Forum: rven und 3 Gäste