Pause im Script einlegen
Pause im Script einlegen
Habe folgendes Problem:
Ich möchte von allen Dateien im Verzeichnis eine Kopie mit anderem Namen erstellen und diese Kopie dann "verkleinern"
Allerdings funktioniert das nur, wenn ich einen Ordner anlegen lasse, damit das ganze "ausgebremst" wird.
Was kann ich tun, damit es funktioniert, ohne diesen "Zwischenordner" anlegen zu müssen.
Das Script müsste nach Copy HERE AS = "t*" eine Pause machen, bis alles erledigt ist.
Select ALLFILES
Rename TYPE=files CASE=extlower NUMBER="11" BY=1 PATTERN="*.*" TO="[#].jpg"
@nodeselect
Image CONVERT=jpg WIDTH=600 PRESERVEASPECTRATIO QUALITY=40 REPLACE
@nodeselect
Copy HERE AS = "t*"
CreateFolder NAME Test
Delete Test
Select PATTERN t*
Image CONVERT=jpg WIDTH=60 PRESERVEASPECTRATIO QUALITY=25 REPLACE
Ich möchte von allen Dateien im Verzeichnis eine Kopie mit anderem Namen erstellen und diese Kopie dann "verkleinern"
Allerdings funktioniert das nur, wenn ich einen Ordner anlegen lasse, damit das ganze "ausgebremst" wird.
Was kann ich tun, damit es funktioniert, ohne diesen "Zwischenordner" anlegen zu müssen.
Das Script müsste nach Copy HERE AS = "t*" eine Pause machen, bis alles erledigt ist.
Select ALLFILES
Rename TYPE=files CASE=extlower NUMBER="11" BY=1 PATTERN="*.*" TO="[#].jpg"
@nodeselect
Image CONVERT=jpg WIDTH=600 PRESERVEASPECTRATIO QUALITY=40 REPLACE
@nodeselect
Copy HERE AS = "t*"
CreateFolder NAME Test
Delete Test
Select PATTERN t*
Image CONVERT=jpg WIDTH=60 PRESERVEASPECTRATIO QUALITY=25 REPLACE
Re: Pause im Script einlegen
Vielleicht nochmal zum besseren Verständnis:
Das Script läuft wie gewollt bis einschließlich Copy HERE AS = "t*"
Danach passiert leider nichts mehr. Ausser, wenn ich das Script an dieser Stelle mit
einer gezwungenen Operation (Ordner anlegen) unterbreche.
Nachdem der Ordner dann durch Nachfrage gelöscht wurde (die durch das Script angebotene manuelle Löschung darf aber erst stattfinden, wenn alle Dateien mit Copy HERE AS = "t*" kopiert wurden, das muss ich eben immer abwarten), läuft der Rest des Scriptes auch noch durch.
Nun bin ich auf der Suche nach einem Befehl oder einer Möglichkeit, wie diese von mir erzwungene Pause, die manuell durch das Löschen des Ordners beendet wird, automatisch gesetzt wird.
Weiss jemand Rat?
Das Script läuft wie gewollt bis einschließlich Copy HERE AS = "t*"
Danach passiert leider nichts mehr. Ausser, wenn ich das Script an dieser Stelle mit
einer gezwungenen Operation (Ordner anlegen) unterbreche.
Nachdem der Ordner dann durch Nachfrage gelöscht wurde (die durch das Script angebotene manuelle Löschung darf aber erst stattfinden, wenn alle Dateien mit Copy HERE AS = "t*" kopiert wurden, das muss ich eben immer abwarten), läuft der Rest des Scriptes auch noch durch.
Nun bin ich auf der Suche nach einem Befehl oder einer Möglichkeit, wie diese von mir erzwungene Pause, die manuell durch das Löschen des Ordners beendet wird, automatisch gesetzt wird.
Weiss jemand Rat?
- Kundal
- Moderator
- Beiträge: 1272
- Registriert: 20. Apr 2010 21:26
- Betriebssystem: Win7 & Win 10 Pro 64 bit
- Produkt: DOpus 12 x64 - Letzte Betaversion
- Version DOpus: Pro
Re: Pause im Script einlegen
@kolob:
Probiere mal den Funktionstyp deines Buttons auf "MS-DOS Batch-Funktion" Zu setzen.
Der folgende Code funktioniert bei mir damit einwandfrei (ohne Ordner erstellen) :
Probiere mal den Funktionstyp deines Buttons auf "MS-DOS Batch-Funktion" Zu setzen.
Der folgende Code funktioniert bei mir damit einwandfrei (ohne Ordner erstellen) :
Code: Alles auswählen
@nodeselect
Select ALLFILES
Rename TYPE=files CASE=extlower NUMBER="11" BY=1 PATTERN="*.*" TO="[#].jpg"
Image CONVERT=jpg WIDTH=600 PRESERVEASPECTRATIO QUALITY=40 REPLACE
Copy HERE AS = "t*"
Select PATTERN t*
Image CONVERT=jpg WIDTH=60 PRESERVEASPECTRATIO QUALITY=25 REPLACE
Re: Pause im Script einlegen
Das ist klasse und funktioniert jetzt tadellos.
So habe ich mir das vorgestellt, vielen Dank!
So habe ich mir das vorgestellt, vielen Dank!
Re: Pause im Script einlegen
Funktioniert leider doch noch nicht wie gewünscht.
Wenn ich das Script zum ersten Mal in dem Ordner mit den Bilden ausführe, funktioniert es tadellos.
Nachdem ich die erzeugten Bilder aber dann in den endgültigen Zielordner (per ftp) übertrage und den "Arbeitsordner" erneut mit Bildern fülle, die auf dieselbe Weise angepasst und umbenannt und kopiert und verkleinert werden sollen, klappt das Script leider nicht mehr!
Es braucht eine "manuelle" Pause (die ich vorher mit "Ordner anlegen" erzwungen habe) und jetzt mit @confirm erzeuge. Beim Anzeigen der "Bestätigungsmeldung" sehe ich im Hintergrund bei vielen Bildern im Ordner immer noch, wie die Dateien kopiert und umbenannt werden. Erst wenn dieser Vorgang abgeschlossen ist, kann (sollte) ich auf OK klicken und das Script fährt wie gewollt fort. Wenn ich zu früh klicke, habe ich Pech gehabt.
Select ALLFILES
Rename TYPE=files CASE=extlower NUMBER="11" BY=1 PATTERN="*.*" TO="[#].jpg"
Image CONVERT=jpg WIDTH=600 PRESERVEASPECTRATIO QUALITY=40 REPLACE
Copy HERE AS = "t*"
@confirm
Select PATTERN t*
Image CONVERT=jpg WIDTH=60 PRESERVEASPECTRATIO QUALITY=25 REPLACE
Wer hat noch einen Tipp?
Wenn ich das Script zum ersten Mal in dem Ordner mit den Bilden ausführe, funktioniert es tadellos.
Nachdem ich die erzeugten Bilder aber dann in den endgültigen Zielordner (per ftp) übertrage und den "Arbeitsordner" erneut mit Bildern fülle, die auf dieselbe Weise angepasst und umbenannt und kopiert und verkleinert werden sollen, klappt das Script leider nicht mehr!
Es braucht eine "manuelle" Pause (die ich vorher mit "Ordner anlegen" erzwungen habe) und jetzt mit @confirm erzeuge. Beim Anzeigen der "Bestätigungsmeldung" sehe ich im Hintergrund bei vielen Bildern im Ordner immer noch, wie die Dateien kopiert und umbenannt werden. Erst wenn dieser Vorgang abgeschlossen ist, kann (sollte) ich auf OK klicken und das Script fährt wie gewollt fort. Wenn ich zu früh klicke, habe ich Pech gehabt.
Select ALLFILES
Rename TYPE=files CASE=extlower NUMBER="11" BY=1 PATTERN="*.*" TO="[#].jpg"
Image CONVERT=jpg WIDTH=600 PRESERVEASPECTRATIO QUALITY=40 REPLACE
Copy HERE AS = "t*"
@confirm
Select PATTERN t*
Image CONVERT=jpg WIDTH=60 PRESERVEASPECTRATIO QUALITY=25 REPLACE
Wer hat noch einen Tipp?
Re: Pause im Script einlegen
Hat niemand eine Idee?
Ich habe 50 jpg-Dateien, die ich bearbeiten muss (Größe ändern und Thumnails erstellen).
Nachdem dies geschehen ist, verschiebe ich diese auf meinen Webspace und lege weitere 50 Dateien in den "Arbeitsordner".
Das Script muss bis einschließlich Zeile 4 abgearbeitet werden, bevor es mit Zeile 6 weiter macht.
Seltsamerweise beginnte es aber schon vorher mit Zeile 6, deshalb muss ich eine manuelle Pause definieren.
Dies geschieht in Zeile 5.
Diese Meldung kann ich aber frühestens wegklicken, wenn ich im Hintergrund sehe, dass alle Dateien kopiert sind.
Erst dann klicke ich auf OK und das Script wird weiter abgearbeitet.
Wenn ich zu früh klicke, geht alles schief!
Wie kann ich also diese Pause automatisch setzen, damit sie auch lange genug wartet?
1 Select ALLFILES
2 Rename TYPE=files CASE=extlower NUMBER="11" BY=1 PATTERN="*.*" TO="[#].jpg"
3 Image CONVERT=jpg WIDTH=600 PRESERVEASPECTRATIO QUALITY=40 REPLACE
4 Copy HERE AS = "t*"
5 @confirm
6 Select PATTERN t*
7 Image CONVERT=jpg WIDTH=60 PRESERVEASPECTRATIO QUALITY=25 REPLACE
Wer weiß Rat?
Ich habe 50 jpg-Dateien, die ich bearbeiten muss (Größe ändern und Thumnails erstellen).
Nachdem dies geschehen ist, verschiebe ich diese auf meinen Webspace und lege weitere 50 Dateien in den "Arbeitsordner".
Das Script muss bis einschließlich Zeile 4 abgearbeitet werden, bevor es mit Zeile 6 weiter macht.
Seltsamerweise beginnte es aber schon vorher mit Zeile 6, deshalb muss ich eine manuelle Pause definieren.
Dies geschieht in Zeile 5.
Diese Meldung kann ich aber frühestens wegklicken, wenn ich im Hintergrund sehe, dass alle Dateien kopiert sind.
Erst dann klicke ich auf OK und das Script wird weiter abgearbeitet.
Wenn ich zu früh klicke, geht alles schief!
Wie kann ich also diese Pause automatisch setzen, damit sie auch lange genug wartet?
1 Select ALLFILES
2 Rename TYPE=files CASE=extlower NUMBER="11" BY=1 PATTERN="*.*" TO="[#].jpg"
3 Image CONVERT=jpg WIDTH=600 PRESERVEASPECTRATIO QUALITY=40 REPLACE
4 Copy HERE AS = "t*"
5 @confirm
6 Select PATTERN t*
7 Image CONVERT=jpg WIDTH=60 PRESERVEASPECTRATIO QUALITY=25 REPLACE
Wer weiß Rat?
- SigmaTau
- Beiträge: 41
- Registriert: 3. Mai 2008 23:13
- Betriebssystem: Win 7 Ultimate 64bit
- Produkt: DOpus 9.last | 10.last/BETA
- Wohnort: Cassel
Re: Pause im Script einlegen
vielleicht kannst du folgendes für dich nutzen
du könntest eine endlos schleife bauen bis eine bestimmte Datei vorhanden ist
TEST: existiert eine Datei?
if exist %datei.txt
Beispiel:
Ausgabe: wenn die Datei datei.txt existiert: die Datei existiert! wenn die Datei datei.txt nicht existiert: Datei nicht gefunden!
du könntest eine endlos schleife bauen bis eine bestimmte Datei vorhanden ist
TEST: existiert eine Datei?
if exist %datei.txt
Beispiel:
Code: Alles auswählen
@echo off
:START
if exist %datei.txt goto existiert
echo Datei nicht gefunden!
goto START
:existiert
echo die Datei existiert!
:ENDE
pause
- Kundal
- Moderator
- Beiträge: 1272
- Registriert: 20. Apr 2010 21:26
- Betriebssystem: Win7 & Win 10 Pro 64 bit
- Produkt: DOpus 12 x64 - Letzte Betaversion
- Version DOpus: Pro
Re: Pause im Script einlegen
Ich verstehe nicht wie du dir das vorstellst. Welche Datei soll denn bei z.B. 200 markierten Dateien das Kriterium sein?du könntest eine endlos schleife bauen bis eine bestimmte Datei vorhanden ist
Für das Timingproblem hier scheint mir die Lösung eher in der Umstellung der Reihenfolge der Befehle zu liegen. Wenn beide Konvertierungsaktionen ans Ende verlegt werden bleibt während der ersten Konvertierung locker genug Zeit die Kopieraktion abzuschließen bevor auch die neuen Dateien konvertiert werden.
Die Reihenfolge der Befehle muss sein:
Alles markieren=>Umbenennen=>Kopieren als=>Dateien ohne "t" am Anfang wählen=>konvertieren=>Dateien mit "t" am Anfang wählen=>konvertieren.
Der resultierende Schaltercode arbeitet bei mir über 200 JPG's sauber ab:
Code: Alles auswählen
@nodeselect
Select ALLFILES
Rename TYPE=files CASE=extlower NUMBER="11" BY=1 PATTERN="*.*" TO="[#].jpg"
Copy HERE AS = "t*"
Select PATTERN [0-9]* DESELECTNOMATCH
Image CONVERT=jpg WIDTH=600 PRESERVEASPECTRATIO QUALITY=40 REPLACE
Select PATTERN t* DESELECTNOMATCH
Image CONVERT=jpg WIDTH=60 PRESERVEASPECTRATIO QUALITY=25 REPLACE