Kann man eine Batchdatei auch verzögern starten?

2 Antworten

Jein.

In C# kann man bei Programmen die eine Message-Loop haben (Grafische Benutzeroberflächen) einen Prozess starten, etwa so:

Process p = new Process("datei.exe");
p.Start();
p.WaitForInputIdle();

WaitForInputIdle wartet dann eine Zeit, bis das Programm nichts mehr aktiv macht (in die Message-Loop eintritt). Unter Umständen könnte das genau sowas sein was du brauchst.

In Batch gibts sowas nicht. Du kannst aber eine bestimmte Zeit lang warten - so lange wie du denkst dass das andere Programm braucht zum Starten. Das kann man mit

@ping 192.0.2.2 -n 1 -w 10000 > nul

erreichen. Der Befehl versucht eine IP des 192.0.2.x/24-Netzes anzupingen. Im RFC 5735 der IETF ist spezifiziert dass dieses Netz nicht verwendet werden darf (Test-Netz). Der Ping wird also immer fehlschlagen und der Befehl wird die angegebene Zeit (10000 Millisekunden) warten und dann mit einem Timeout abbrechen. Damit kannst du den Befehl benutzen um x Sekunden zu warten. Starte dein Programm einfach, zähle die Sekunden bis es geladen ist, rechne vielleicht zur Sicherheit noch etwas drauf und nimm dann den Wert und warte nach dem Start so lange bevor du Programm Nr.2 startest

ok, ich versteh leider nur bahn hoff. ich glaub, dass das alles seine richtigkeit hat, aber könntest du mir bitte noch mal alles klick für klick beschreiben, damit das auch hinhaut und nicht im totalen chaos versinkt. wär dir echt dankbar :)

Und zu dem @ping-dingens: wie genau muss ich das eingeben, wenn mein erster dateipfad (welcher zuerst geöffnet werden soll) sagen wir auf C:/Programme/Zieldatei.exe und der andere auf E:/Musik/Bandname/Zieldatei.exe liegt??

Bisher siehts bei mir so aus:

starte "" "C:/Programme/Zieldatei.exe" starte "" "E:/Musik/Bandname/Zieldatei.exe"

wo genau muss ich das mit dem @ ping jetzt einfügen und was muss ich da alles schreiben?? oder muss ich wirklich die ganze formel von dir nur halt mit meiner zeitangabe eingeben??

0
@Steffe95

Ach mist, das mit der neuen zeile hat nicht hingehauen. ... .exe und starte "" sind in zwei untereinander liegenden zeilen, also nicht direkt nebeneinander

0

Ist mit Batchdatein etwas schwer, du kannst nur auf den Prozessnamen abfragen das bedeutet allerdings nur, dass der Prozess geladen ist, ob das Programm intern schon fertig geladen ist kannst du so nicht feststellen.

Dazu müsstest du schon eine Programmiersprache wie C oder C# bemühen und selbst dort ist es noch kompliziert den inneren Zustand eines Fremden Programms abzufragen, im Prinzip müsstest du dich in das Programm reinhängen und nachsehen ob es fertig geladen ist. Ist also für fremde Programm bei denen du nicht den Sourcecode kennst sehr schwer bis unmöglich.

Willst du einfach nur warten bis der Prozess da ist dann kannst du schreiben

start 'programm1' start 'programm2'

aber das Funktioniert bei dir ja nicht

Programme starten nach Öffnen nicht aber sind Prozesse?

Wie gesagt,Programme starten nicht aber werden als Prozess angezeig

...zur Frage

Warum kann man "normale" Programme nicht auf Linux starten?

...zur Frage

1 Quelldatei mehrfach duplizieren und umbennen / Lösung?

Hallo - stehe von einem Problem und komme überhaupt nicht weiter. Vlt. kann man hier die Community nochmals helfen. ;-)

Ich habe eine Quelldatei (Quelldatei1.jpg)
welche ich 1000x duplizieren möchte - und zusätzlich fortlaufend nummiert in einem unterordner speichern möchte. Wie gehe ich vor / welches Tool könnt ihr empfehlen?

Es soll dann folgender maßen ausschauen

Hauptordner "Quelle" Quelldatei1.jpg -> Zieldatei_0001.jpg Quelldatei1.jpg -> Zieldatei_0002.jpg Quelldatei1 .jpg -> Zieldatei_0003.jpg Quelldatei1.jpg -> Zieldatei_0004.jpg Quelldatei1.jpg -> Zieldatei_0005.jpg Quelldatei1.jpg -> Zieldatei_0006.jpg usw... gespeichert in Unterordner "Ziel".

Wäre super wenn jemand etwas wüsste.. Natürlich wäre auch ein kleines BAT SCript ideal.

merci Roger

...zur Frage

Steam Bibliothek kaputt?

Hey Leute,

ich habe ein Problem mit meiner Steam Bibliothek. seit gestern wollten sich 2 Spiele automatisch updaten. Aber weil ich heute gesehen hab dass sich die gleichen Spiele immernoch updaten wollen hab ich mal versucht eines der beiden Spiele zu starten. Aber bei beiden wurde angezeigt: "Keine Internetverbindung" (Obwohl ich YouTube etc gucken konnte) und "Downloadserver nicht erreichbar".

Daraufhin habe ich Steam komplett neu installiert aber nach der Neuinstallation waren alle meine Spiele deinstalliert. Okay, eine doofe Sache aber nicht wirklich schlimm. Doch ich konnte kein einziges Spiel mehr herrunterladen ohne das eine der eben genannten Problemmeldungen kamen.

Ich weis überhauptnicht woran es liegen könnte. Davor hatte ich auch noch nie so ein Problem mit Steam.

Viele der genannten Lösungen vom Steamsupport haben nichts gebracht.

...zur Frage

Kennt sich jemand mit Steam & den Bethesda Creation Kit aus (dll-Fehler?

Hallo

Kennt sich jemand mit diesen beiden Programmen aus? Jedes mal wenn ich den Creation-Kit starten will bekomme ich Fehlermeldungen:

"Das Programm kann nicht gestartet werden, da steam_api64dll auf dem Computer fehlt.." dasselbe mit mit der "libScePad.dll" Datei.

WICHTIG: Da steht, dass man alles neu installieren soll um dieses Problem zu beheben, was ich mind. 5 mal gemacht habe, beide Programme, aber diese Fehlermeldungen kommen trotzdem immer wieder.

Was kann man dagegen tun? Danke im Voraus.

PS: Bin auf WIN 10 unterwegs, falls das relevant sein sollte.

...zur Frage

Kann man zwei Programme miteinander verknüpfen, dass, wenn man das eine Programm starten, das ...

andere sich automatisch auch öffnet??

Hey Leute, ich spiel leidenschaftlich gerne ein MMORPG und wollte mich jetzt informieren, ob man das irgendwie hinbekommt, dass wen ich das Spiel starte, automatisch mein Komunikationsprogramm auch startet, ohne, dass ich es extra öffnen muss.

Danke für eure Hilfe

...zur Frage

Was möchtest Du wissen?