Wie kann ich ein zweites Programm gleichzeitig mit dem Hauptprogramm starten?

5 Antworten

Und wie kann man ein Programm auf diese weise etwas Zeitverzögert starten? um z.b etwas einzugeben?

...auch das lässt sich mit Batch realisieren.

demo.cmd

@echo off
chcp 65001 >nul & rem Umlaute erlauben

  rem der Normalzustand, starte Programme nacheinander.
  rem wenn das ersere beendet wird, startet das nächste.
  
  rem gib eine Meldung aus
echo Ich warte bis der Editor beendet wird Editor wieder
echo Schließe nun den Editor wieder
  rem starte Notpad
Notepad

echo Schließe nun das Malprogramm wieder
  rem wenn dises beendet wird, starte das Malprogramm
mspaint

echo Ich bin fertig...
pause

demo2.cmd

@echo off
chcp 65001 >nul

echo Ich start den Editor und das Malprogram gleichzeitig.
echo ...verliere jedoch  die Kontrolle über beide Programme
  rem starte Notpad
start "" Notepad "mein Text.txt"
start "" mspaint
echo:  & rem leerzeile
echo erledigt...
echo:
echo ich schließe mich in 30 Sekunden
timeout 30

timeout sekundenanzahl ,lässt die Batch warten.

demo3.cmd

@echo off
chcp 65001 >nul

echo Ich start den Editor und das Malprogram gleichzeitig.
echo ...verliere jedoch  die Kontrolle über beide Programme
  rem starte Notpad
start "" Notepad "mein Text.txt"

echo:
echo warte 10 Sekunden bis zum Start des Malprogramms
timeout 10 >nul  & rem >verteckt die ausgabe eines Programms

mspaint
echo:  & rem leerzeile
echo erledigt...
echo:
echo ich schließe mich in 30 Sekunden
timeout 30

demo.4.cmd

@echo off
chcp 65001 >nul


 rem Eingabe in der Console
set /p "variable=Gib etwas ein :"
echo Du hast folgendes eingegeben: "%variable%")
  rem schreibe das eingegebene in die Datei "mein Text.txt"
echo %date% , %time%: ich habe in diese Datei geschrieben: >>"mein Text.txt"
echo "%variable%" >>"mein Text.txt"
  rem wartet noch bis  die  Datei  geschrieben ist.
start "" Notepad "mein Text.txt"


echo:
timeout 5
mspaint
echo:  & rem leerzeile
echo erledigt...
echo:
echo ich schließe mich in 30 Sekunden
timeout 30

...füge die Beispiele im Editor ein und speichere diese unter einem Namen.cmd .

(Achtung: Dateityp: alleDateien. , Codierung UTF-8 (ohne BOM))

In bestimmten Fällen, wie z. B. wenn häufig die selben Programme gleichzeitig geöffnet werden müssen, kann der Start dieser Programme über ein einziges Symbol (z.B. auf dem Desktop) sehr hilfreich sein. Hierfür muss einfach zusammen mit einem Befehl ein Windows-Befehlsskript erstellt werden. Die folgende Beschreibung zeigt die Technik exemplarisch für den Start der Officeanwendungen Word, Excel und Access. Selbstverständlich funktioniert dies mit sämtlichen anderen Programmen auch.

So geht's:

  • "Start" > ("Programme") (bzw. "Alle Programme") > "Zubehör" > "Editor" (alternativ anderen Texteditor starten)
  • Geben Sie folgende Zeile ein bzw. passen Sie die folgenden Zeilen an:
  • @ECHO OFF
  • ECHO Bitte warten, Programme werden gestartet...
  • START "Winword" /B "C:\Programme\Microsoft Office\Office\winword.exe"
  • START "Excel" /B "C:\Programme\Microsoft Office\Office\excel.exe"
  • START "Access" /B "C:\Programme\Microsoft Office\Office\msaccess.exe"
  • ECHO Alle Programme gestartet!
  • Speichern Sie den Inhalt unter einem beliebigen Dateinamen mit der Dateiendung ".CMD" in einem frei wählbaren Verzeichnis (Ordner) ab. Z.B.: "%windir%\programmestarten.cmd"
  • Geben Sie den Namen im Feld "Dateiname" mit Anführungszeichen ein.
  • Erstellen Sie nun eine neue Verknüpfung auf dem Desktop (oder im Startmenü).
  • Klicken Sie mit der rechten Maustaste auf die Desktopoberfläche.
  • Im Kontextmenü wählen Sie "Neu" > "Verknüpfung".
  • Als Speicherort des Objekts / Elements geben Sie den Pfad und Dateinamen vom Windows-Befehlsskript ein. Z.B.: "%windir%\programmestarten.cmd"
  • Klicken Sie nun auf die Schaltfläche "Weiter".
  • Geben Sie nun eine Beschreibung ein (z.B.: "Word, Excel, Access") und klicken dann auf "Fertig stellen".

Quelle


WindowsXP2012 
Fragesteller
 06.12.2020, 04:57

Und wie kann man ein Programm auf diese weise etwas Zeitverzögert starten? um z.b etwas einzugeben?

0

Eleganter als eine *.bat Datei ist eine *.vbs Datei.

Erstelle eine leere *txt Datei und füge diesen Quelltext ein:

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run("notepad.exe")

WScript.Sleep 2000

WshShell.Run("calc.exe")

Anschliessend benennst du die Datei in "startscript.vbs" um.

Der Wert 2000 steht für Millisekunden. Die Pfade müssen nur angepasst werden.

Woher ich das weiß:eigene Erfahrung

Am einfachsten ist ein batchscript zu machen womit du beide startest. Wie es ezekyle erklärt hat.

Aber, du könntet euch das loggen von Anwendungstarts aktivieren und dann im task scheduler das so einstellen dass er bei diesem Log Eintrag diene zweite Anwendung Startet. Das wäre dann automatisch wenn immer die eine Anwendung aus irgendeinem Grund gestartet wird.

https://superuser.com/questions/745318/how-to-start-a-program-when-another-one-is-started

also das ist ja fast sinnbefreit ,

eine remote desktop verbindung baut man doch erst auf wenn die VPN garantiert steht .

oder hab ich jetzt ein an der marmel und du willst RDP machen wo die VPN noch gar nicht steht ?

du sollest also lieber gucken ob der VPN tunnel steht .

womit wir hier nix mit gleichzeitig haben , nicht mal nacheinader , sondern genau dann wenn programm 1 erfolg hat , kann man programm 2 einsetzen .

wildest rumstochern ist für mich eher ein sicherheits problem ... das ziel wäre dann schonmal bekannt und wenn nicht einer ganz dumm ist gibt er sich als die IP adresse aus .

ich ahne schon wie es im hotel zimmer in china abgeht .