Programme starten Wenn vorhanden - per Batch!

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Unsere Datenschutzerklärung wurde aktualisiert. Mit der Nutzung unseres Forums akzeptierst Du unsere Datenschutzerklärung. Du bestätigst zudem, dass Du mindestens 16 Jahre alt bist.

    • Programme starten Wenn vorhanden - per Batch!

      Hi!!! Bitte um Hilfe für folgende Herausforderung:

      Um usern die Arbneit am computer zu erleichtern möchte ich eine Batch datei erstellen, die die Portable Version einer Software von einem USB Stick startet.
      Weil ein USB Stick vom Computer einen Laufwerkknamen zugeteilt bekommt kann es sein das der USB sich im einen Compzter Laufwerk D ist im anderen Laufwerk E und so weiter.

      Darum meine Idee: Wenn die Batch Datei einfach versucht die Software zu starten und findet sie nicht auf Laufwerk D, dann dann überspringt es diese Aktion und versucht es beim nächsten Lauferksbuchstaben:


      start "" "D:\CCleaner\CCLeanerPortable.exe"

      if not exist then

      start "" "E:\CCleaner\CCLeanerPortable.exe"

      if not exist then

      start "" "F:\CCleaner\CCLeanerPortable.exe"

      if not exist then

      [b]start "" "G:\CCleaner\CCLeanerPortable.exe"[/b]

      if not exist then

      exit

      Das oben beschriebene soll kein Syntax sein sondern nur den Ablauf erklären.
      Habe schon einiges versucht und im internet auch ein paar sachen gefunden aber nichts hat funktioniert.

      Würde mich über Eure Hilfe sehr freuen
    • @echo off
      if exist D:\CCleaner\CCLeanerPortable.exe goto existiertD
      if exist E:\CCleaner\CCLeanerPortable.exe goto existiertE
      if exist F:\CCleaner\CCLeanerPortable.exe goto existiertF
      if exist G:\CCleaner\CCLeanerPortable.exe goto existiertG
      echo Programm nicht gefunden!
      goto ENDE
      :existiertD
      D:\CCleaner\CCLeanerPortable.exe
      goto ENDE
      :existiertE
      E:\CCleaner\CCLeanerPortable.exe
      goto ENDE
      :existiertF
      F:\CCleaner\CCLeanerPortable.exe
      goto ENDE
      :existiertG
      G:\CCleaner\CCLeanerPortable.exe
      :ENDE
      exit


      Rabe

      PS: Die "" in einer Befehlszeile sind nur erforderlich, wenn im Pfad Leerstellen sind!
      D:\CCleaner\CCLeanerPortable.exe
      läuft auch ohne,

      "D:\CCleaner\CCLeaner Portable.exe"
      oder
      "D:\meine Programme\CCLeanerPortable.exe"
      müsste in "Tüddelchen" stehen...

      PPS: Ich gehe davon aus, dass Deine Ordner- und Dateinamen korrekt sind! Bitte noch mal checken, falls es nicht läuft!
      Computer setzen logisches Denken fort!
      Unlogisches auch....

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von ravenheart ()

    • Hi Ravenheart!!!!

      funktioniert!
      Bis auf 2 Dinge:

      1. Das Echo "Programm nicht gefunden"

      Wenn ich keinen USB-Stick habe oder die .exe oder der Ordner nicht existiert sollte doch eigentlich das eccho "Programm nicht gefunden" kommen.
      Wenn ich das .bat Skript aber in so einem Fall klicke öffnet sich einfach für ein paar millisekunden ein schwarzes CMD fenster und schließt sich wieder ohne das Echo "Programm nicht gefunden".

      2. Wenn das Programm gefunden uns ausgeführt wird wie vorgesehen sollte es doch von da aus zu :ENDE springen und dann exit
      Es ist aber so das das Programm wie gewünscht startet aber das CMD Fenster im Hintergrund bestehen bleibt...



      Kann man da was machen?

      Danke und Viele Grüße!!!
    • ravenheart schrieb:

      echo Programm nicht gefunden!
      goto ENDE
      Hi,
      ändere das so:

      echo "Programm nicht gefunden!"
      pause
      goto ENDE

      Es fehlen die Gänsefüsse.
      Der Befehl pause wartet auf eine Taste, erst dann wird das Fenster geschlossen.

      Wenn das Programm gefunden und gestartet wurde stopt die Batch.
      Es geht erst weiter wenn das Programm beendet wird.
      In dem Fall schliesst sich das CMD-Fenster also erst, wenn CCleaner beendet wird.
      Gruss Micha
      Tätig ist man immer mit einem gewissen Lärm. Wirken geht in der Stille vor sich.
    • PERFEKT DANKE

      !!!!ABER!!!!

      Eine Sache noch - Punkt 2 von weiter oben geht noch nicht...

      "2. Wenn das Programm gefunden und ausgeführt wird wie vorgesehen, sollte es doch von da aus zu :ENDE springen und dann exit"

      Es ist aber so das das Programm wie gewünscht startet aber das CMD Fenster im Hintergrund bestehen bleibt (sich nicht mit exit schließt).

      Es wäre mir lieb wenn das CMD fenster sich schließen würde nachem das Programm offen ist.
    • Versuch es mal mit dem Wort "start" vor dem "unerwünschtem" Programm, das Du dort ausführst.

      Erklärung: start sorgt dafür, dass das Fenster einen eigenen Prozess generiert, also nicht mehr gebunden an das aufrufende cmd-Fenster.
      Gruß Thomas

      "Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."
      ComputerInfo für PPF

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ts-soft ()

    • Sorry - ich verstehe nicht wo ich das"start" einfügen soll - hier mein Batch das soweit funktioniert:



      @echo off
      if exist D:\CCleanerPortable\CCleanerPortable.exe goto existiertD
      if exist E:\CCleanerPortable\CCleanerPortable.exe goto existiertE
      if exist F:\CCleanerPortable\CCleanerPortable.exe goto existiertF
      if exist G:\CCleanerPortable\CCleanerPortable.exe goto existiertG
      echo "Programm nicht gefunden!"
      pause
      goto ENDE
      :existiertD
      D:\CCleanerPortable\CCleanerPortable.exe
      goto ENDE
      :existiertE
      E:\CCleanerPortable\CCleanerPortable.exe
      goto ENDE
      :existiertF
      F:\CCleanerPortable\CCleanerPortable.exe
      goto ENDE
      :existiertG
      G:\CCleanerPortable\CCleanerPortable.exe
      :ENDE
      exit
    • Dat läuft da...
      Fraglich is eher, ob der CCleaner da läuft, aber ich tippe mal, ja...

      Rabe

      wg. läuft das?
      Die Batch-Befehle waren früher - damit meine ich VOR Windows - unter DOS das ganz normale "Handwerkszeug" zum Bedienen eines Computers.

      Man schrieb sich kleine Batchdateien, um z.B. Programme komfortabel mit bestimmten Parametern zu starten, z.B. statt im Vollbild im Fenster oder so...

      (Für Insider und Oldies: Ich sage nur: "kreisch"...) :thumbsup:

      Erstaunlicher ist eher, dass sie HEUTE immer noch laufen!
      Computer setzen logisches Denken fort!
      Unlogisches auch....

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ravenheart ()