Dateien Zeitversetzt nacheinander öffnen

Aktuelle Version: 12.6 (09.06.2017)
Alles zum Thema Directory Opus
Antworten
redfrog
Beiträge: 27
Registriert: 21. Okt 2013 21:36
Betriebssystem: win 7 prof 64bit
Produkt: DOpus 11.17 x64 Build 5829
Version DOpus: Pro

Dateien Zeitversetzt nacheinander öffnen

Beitrag von redfrog » 11. Jan 2014 22:40

Guten Abend miteinander,

ich habe folgendes Problem,
ich will mehre Video dateien *.ts mit dem TS-Docotor öffnen um diese dann später zu bearbeiten.

Soll folgendermasen fuktionieren, ich klicke auf den Schalter und er macht die Dateien in abständen von 60 sekunden auf.

Würde die Dateien mit select *.ts auswählen
und mit @ping -n 60 localhost> nul müsste ja die Zeit zum einstellen gehen.

Aber wie bekomme ich das hin, das die dateien dann geöffnet werden?

Gruß

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

Re: Dateien Zeitversetzt nacheinander öffnen

Beitrag von Kundal » 12. Jan 2014 11:01

Da du auf Win7 bist kannst du auch timeout /T 60 benutzen. Das folgende funktioniert bei mir (Schalter als MS-DOS Batch-Funktion konfigurieren und den Pfad zu TS-Doctor anpassen):

Code: Alles auswählen

@leavedoswindowopen 
FOR %%n in ({filepath}) do timeout /T 60 & start "Pfad zum Programm" "{filepath}"
exit
Wenn alles funktioniert kannst du statt @leavedoswindowopen auch @runmode hide in die erste Zeile schreiben um das DOS-Fenster auszublenden.

redfrog
Beiträge: 27
Registriert: 21. Okt 2013 21:36
Betriebssystem: win 7 prof 64bit
Produkt: DOpus 11.17 x64 Build 5829
Version DOpus: Pro

Re: Dateien Zeitversetzt nacheinander öffnen

Beitrag von redfrog » 12. Jan 2014 18:55

Schönen guten Abend,

Funktioniert ... fast.

Also der Timer funktioniert und aus dem Erstellten Suchordner heraus auch :)

Aber die Programmzuweisung funktioniert nicht, das File wird immer mit dem Standart-Programm geöffnet.
Und Datein mit komischen Zeichen werden nicht erkannt, ist baer fast klar und kommt auch nur selten vor, Fehler im EPG.


Der Code sieht so aus

select none
select *.ts
@leavedoswindowopen
FOR %%n in ({filepath}) do timeout /T 60 & start "C:\Programme (x86)\Cypheros\TSDoctor\TSDoctor.exe" "{filepath}"
exit

Was passt da nicht?


Edit, habs gefunden :)

da fehlt etwas....

FOR %%n in ({filepath}) do timeout /T 60 & start "" "C:\Programme (x86)\Cypheros\TSDoctor\TSDoctor.exe" "{filepath}"

Gruß

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

Re: Dateien Zeitversetzt nacheinander öffnen

Beitrag von Kundal » 13. Jan 2014 00:59

Für das Problem mit den "komischen Zeichen" kann ich dir die hervorragende Umbenennen-Vorlage Titlecase empfehlen mit der du Sachen wie %20 vor der Verarbeitung aus den Dateinamen entfernen kannst.
Vielleicht noch besser für deine Zwecke wäre ein eigener Schalter, der alle TS-Dateien auswählt und Sonderzeichen ersetzt/entfernt (hier %20 ersetzen durch Leerstelle):

Code: Alles auswählen

@nodeselect 
Select NONE 
Select "*.ts"
Rename FINDREP PATTERN "%%20" TO " "
Das Prozentzeichen muss hier gedoppelt werden, damit DOpus es nicht mit %2 verwechselt, das eine besondere Bedeutung hat. Du kannst für andere Sonderzeichen wie ! und ^, die wohl auch gern Probleme machen, weitere Rename-Zeilen dazu schreiben.

Da die Dateien nach dem Umbenennen ausgewählt geblieben sind kannst du sofort mit diesem hier weiter machen, der bei mir mit TSDoctor funtioniert:

Code: Alles auswählen

@leavedoswindowopen 
cd {sourcepath}
@echo off
FOR %%n in ({filepath}) DO START /B /I "TITLE" "C:\Programme\Cypheros\TSDoctor\TSDoctor.exe" "{filepath}" &  ping -n 60 localhost> nul
exit
Es bietet sich an, die beiden Schalter in einem 3-Tasten-Schalter zu verwenden.
Der Zusatz "TITLE" und die Parameter sind nach meinen Recherchen wohl nötig weil der START-Befehl als erstes Argument einen Fenstertitel erwartet und dann erst den Pfad zur EXE. Damit hatte TSDoctor wohl ein Problem. Ich bin ausserdem doch zur ping-Variante gegangen weil der Doc sich manchmal beschwert hat, man möge ihn doch bitte nicht über timeout.exe starten. Ist halt ein etwas eigensinniger Zausel der gute Doctor... :D

redfrog
Beiträge: 27
Registriert: 21. Okt 2013 21:36
Betriebssystem: win 7 prof 64bit
Produkt: DOpus 11.17 x64 Build 5829
Version DOpus: Pro

Re: Dateien Zeitversetzt nacheinander öffnen

Beitrag von redfrog » 14. Jan 2014 00:53

Das sind ja mal tolle Sachen die du da auftischst.

Muss ich dann mal auf jedenfall testen ;)

Bei mit hat er sich bis jetzt noch nicht beschwert.

Aber es gibt ein gaaaaaaaanz großes Problem!!!!!!!!!!
Der blöööööde Arbeitsspeicher, der ist irgendwann mal voll.
Bei mir ist das nach mehr als 50 files der Fall.
Der doc brauch zwischen 80 und 120 MB Speicher,pro Instanz.
Also sollte da noch ein Begrenzer rein. :)
Ich glaub beim markieren wäre es besten.

Geht so etwas?

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

Re: Dateien Zeitversetzt nacheinander öffnen

Beitrag von Kundal » 14. Jan 2014 07:05

Zum Begrenzen der Anzahl zu öffnender Dateien bietet sich schon wegen der besseren Übersichtlichkeit an, alles was nicht TS ist temporär auszublenden: Select *.ts HIDEUNSEL und dann z.B. die ersten 50 Dateien mit Select Range 1-50 auszuwählen. Da du danach vermutlich die nächsten 50 Dateien bearbeiten willst würde ich da eine Dialogbox einbauen in der du wählen kannst ob du die Dateien 1-50, 51-100, 101-150 usw auswählen willst. Das ganze sieht dann so aus:

Code: Alles auswählen

@leavedoswindowopen
cd {sourcepath}
Select *.ts HIDEUNSEL 
Select RANGE={dlgchoose|Range wählen:|1-50=1-50+51-100=51-100+101-150=101-150}
@echo off
FOR %%n in ({filepath}) DO START /B /I "TITLE" "C:\Programme\Cypheros\TSDoctor\TSDoctor.exe" "{filepath}" &  ping -n 60 localhost> nul
exit
HIDEUNSEL kannst du natürlich auch schon im Rename-Befehl verwenden.
Wenn du nicht willst, dass "nicht-TS-Dateien" ausgeblendet werden, kannst du nach der Zeile Select *.ts HIDEUNSEL noch eine Zeile einfügen, die die ausgeblendeten Dateien wieder anzeigt ohne die Auswahl zu verlieren: Select NOPATTERN SHOWHIDDEN

redfrog
Beiträge: 27
Registriert: 21. Okt 2013 21:36
Betriebssystem: win 7 prof 64bit
Produkt: DOpus 11.17 x64 Build 5829
Version DOpus: Pro

Re: Dateien Zeitversetzt nacheinander öffnen

Beitrag von redfrog » 14. Jan 2014 12:25

Was soll ich sagen :D :D

Das funktioniert einfach nur spitze :!: :!:

Brauch jetzt so langsam eine seperate Symbolleiste für die ganzen Schalter.

Vielen Herrzlichen Dank!

Hab das ganze so angepasst

select none
Select *.ts hideunsel
Select RANGE={dlgchoose|Range wählen:|1-2=1-2+1-10=1-10+1-20=1-20+1-30=1-30+1-40=1-40+1-50=1-50}
Select NOPATTERN SHOWHIDDEN
@leavedoswindowopen
FOR %%n in ({filepath}) do timeout /T 60 & start "" "C:\Program Files (x86)\Cypheros\TSDoctor\TSDoctor.exe" "{filepath}"
exit

Weil nach dem bearbeiten, lösche ich die Dateien gleich.
Durch die größere auswahl an Anzahl der Dateien, ist Variabler je nachden wieviel Zeit man hat.
Das runterzählen der Zeit gefällt mir dann doch besser als ein "leeres" Fenster. :)
(ich weiß kann man auch ausbleden, aber erstmal nicht zur besseren übersicht)

Das
cd {sourcepath}
brauch ich doch garnicht,oder?
Das ganze läuft durch die Suche in unterschiedlichen Laufwerken ab, also passiert es das Die Dateien nicht immer im gleichen Pfad liegen.


Gruß

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

Re: Dateien Zeitversetzt nacheinander öffnen

Beitrag von Kundal » 14. Jan 2014 22:29

Dein Schaltercode ist völlig OK so wie er ist. Der Zusatz von Select none ist auch sinnvol, weil die Auswahl sonst dann nicht richtig funktioniert wenn vorher "nicht TS-Sateien" ausgewählt waren.
Das cd {sourcepath} setze ich routinemässig ein, weil es bei DOS-Befehlen üblich und sinnvoll ist, in das aktuelle Arbeitsverzeichnis zu wechseln. Besonders dann, wenn externe Software mit dem Befehl gestartet wird ist es sinnvoll, den aktuellen Pfad ausdrücklich zu setzen. Ansonsten kann es dir passieren, daß ein Befehl, der Archive mit 7-Zip entpacken soll, die Dateien nach C:\Windows\System32 entpackt, weil cmd.exe da zuhause ist. Probier's aus...:mrgreen:
In diesem Fall scheint das zwar unnötig zu sein, aber ich würde die Zeile beibehalten um sicher zu stellen, dass der gute Doctor nicht irgendwelchen Müll wie Logdateien im System32-Ordner anhäuft, weil er glaubt, dem Herren der ihn beauftragt hat (cmd.exe) etwas vor die Füße legen zu müssen. :D

redfrog
Beiträge: 27
Registriert: 21. Okt 2013 21:36
Betriebssystem: win 7 prof 64bit
Produkt: DOpus 11.17 x64 Build 5829
Version DOpus: Pro

Re: Dateien Zeitversetzt nacheinander öffnen

Beitrag von redfrog » 14. Jan 2014 23:25

Ach das cd {sourcepath} bezieht sich auf das Auszuführende Programm? dannmacht es sinn, hab gedacht das bezieht sich auf die Dateien.

Also könnte ich Theorethisch auch einen anderen Pfad angeben außer den "sourcepath", sowie D:\TS-TEMP ?

Wobei, wo du das jetzt erwähnst, der Doc hat mir bis jetzt immer die log´s von der Aufnahme umgeschrieben in seine log´s.
Das war bei denen die mit dem Schalter gestartet ware nicht der Fall, hm könnte die mal suchen gehen.

Gruß

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

Re: Dateien Zeitversetzt nacheinander öffnen

Beitrag von Kundal » 11. Feb 2014 09:59

Um die neuen Scripting Möglichkeiten von DOpus 11 zu testen habe ich diesen Schaltercode mal in VBScript konvertiert. Zur Vereinfachung öffnet der Schalter Textdateien zeitversetzt mit Notepad. Das lässt sich in Zeile 7 für jedes Programm, das einen Dateipfad als Argument akzeptiert, anpassen.
Der Zeitversatz in Millisekunden kann in Zeile 6 geändert werden.
In Zeile 2 und 3 können die Select-Befehle angepasst werden. Dort könnten natürlich auch weitere Befehle nach dem gleichen Muster angehängt werden.
In Zeile 5 wird der Pfad einer einzelnen Datei aus der Auswahl als Variable FP gesetzt. Notepad kann diese Variable dann als {$glob:FP} auslesen.
Die For-Schleife (Zeile 4-8) durchläuft dann alle ausgewählten Dateien um sie mit 2000 Millisekunden Verzögerung (Zeile 6) an Notepad zu übergeben.

Achtung: dieser Schaltercode funktioniert nur mit Directory Opus 11!


Textdateien zeitversetzt (2 Sek.) mit Notepad öffnen

Code: Alles auswählen

Function OnClick(ByRef ClickData)
      ClickData.Func.Command.RunCommand "Select *.txt HIDEUNSEL"
      ClickData.Func.Command.RunCommand "Select RANGE {dlgchoose|Range wählen:|1-3=1-3+4-6=4-6+7-9=7-9}"
For each file in ClickData.Func.Command.files
      DOpus.vars.Set "FP", File
      DOpus.delay "2000"  
   ClickData.Func.Command.RunCommand("notepad.exe {$glob:FP}")
next
End Function

Antworten

Wer ist online?

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