WinFuture-Forum.de: WAIT Begfehl wird ignoriert - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

WAIT Begfehl wird ignoriert


#1 Mitglied ist offline   stefan4711 

  • Gruppe: aktive Mitglieder
  • Beiträge: 41
  • Beigetreten: 22. April 20
  • Reputation: 0

geschrieben 21. Mai 2020 - 12:21

Hallo allerseits, ich habe mal gelernt dass ein /Wait Befehl in einer Batch, solange wartet, bis die Exe beendet wurde. Wieso wird das bei mir ignoriert? stimmt etwas in der Syntax nich?

START "" /WAIT /i "%LW%:\start.exe">nul 2>&1 
echo wieder mal nicht abgewartet
rd /s /q c:\tmp






Vielleicht kann ja einer was zu sagen, würde mich freuen

lg und schönen Feiertag
0

Anzeige



#2 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.591
  • Beigetreten: 14. August 15
  • Reputation: 392

geschrieben 21. Mai 2020 - 14:21

Ein wait gibt es als Befehl nicht. Das was du nutzt ist ein Parameter für start.
Versuch es doch mal ohne ""

Dieser Beitrag wurde von Gispelmob bearbeitet: 21. Mai 2020 - 14:21

AMD Ryzen 9 5950X, Asus ROG Strix X570-F Gaming, 32GB Corsair DDR4-3200, Asus Geforce GTX 3060 12GB, Creative Sound Blaster AE-7, 240GB SSD, 500GB SSD, 3x 1TB SSD, Win11 Home, 4x Acer G246HL Bbid, Logitech MX518 Gaming Mouse, Logitech G440 Mousepad, Logitech K120 Keyboard, Razer Tiamat 7.1 V2 Headset, Creative Inspire 5.1 5300 Soundsystem
0

#3 Mitglied ist offline   Shannon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 131
  • Beigetreten: 12. Februar 13
  • Reputation: 11
  • Geschlecht:unbekannt

geschrieben 21. Mai 2020 - 14:25

Nein, kann ich nicht bestätigen.
Funktioniert wie es soll.

Der Fall kann aber eintreten, wenn: "start.exe" sich nach dem start sofort wieder beendet.

g.s.

@Gispelmob

"" ergibt "nichts" und wird Ignoriert.

g.s.
0

#4 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.591
  • Beigetreten: 14. August 15
  • Reputation: 392

geschrieben 21. Mai 2020 - 17:33

Beitrag anzeigenZitat (Shannon: 21. Mai 2020 - 14:25)

"" ergibt "nichts" und wird Ignoriert.

Dann kann man auch "" "" oder "" "" "" nehmen oder aber man lässt es gleich weg und schließt Fehler aus, die dadurch vielleicht auftreten.
AMD Ryzen 9 5950X, Asus ROG Strix X570-F Gaming, 32GB Corsair DDR4-3200, Asus Geforce GTX 3060 12GB, Creative Sound Blaster AE-7, 240GB SSD, 500GB SSD, 3x 1TB SSD, Win11 Home, 4x Acer G246HL Bbid, Logitech MX518 Gaming Mouse, Logitech G440 Mousepad, Logitech K120 Keyboard, Razer Tiamat 7.1 V2 Headset, Creative Inspire 5.1 5300 Soundsystem
0

#5 Mitglied ist offline   Shannon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 131
  • Beigetreten: 12. Februar 13
  • Reputation: 11
  • Geschlecht:unbekannt

geschrieben 21. Mai 2020 - 17:44

Richtig :)
0

#6 Mitglied ist offline   Funraver 

  • Gruppe: aktive Mitglieder
  • Beiträge: 361
  • Beigetreten: 27. Oktober 07
  • Reputation: 70

geschrieben 22. Mai 2020 - 10:18

Beitrag anzeigenZitat (stefan4711: 21. Mai 2020 - 12:21)

Hallo allerseits, ich habe mal gelernt dass ein /Wait Befehl in einer Batch, solange wartet, bis die Exe beendet wurde. Wieso wird das bei mir ignoriert? stimmt etwas in der Syntax nich?

START "" /WAIT /i "%LW%:\start.exe">nul 2>&1 
echo wieder mal nicht abgewartet
rd /s /q c:\tmp






Vielleicht kann ja einer was zu sagen, würde mich freuen

lg und schönen Feiertag


Also wenn der code die ganze .bat Datei ist, so fehlt eine Definition.

Die Variable LW sollte vorher vorhanden/definiert sein.

Vielleicht wird die .exe Datei einfach nur nicht gefunden?

Kopiere doch mal testweise die .exe nach c: .

Und dann
start /wait c:\bla.exe >NUL
echo ich musste jetzt warten bevor dieser text angezeigt wird



Ich hoffe du verstehst den Denkansatz, ich habe bewusst den echo text
anders gestaltet um zu zeigen was das bewirkt. Denn in dem fehlerhaften
Code von dir kann die Datei nicht gefunden werden.
%LW% muss so wie es da steht vorher definiert sein.

mfg
0

#7 Mitglied ist offline   Shannon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 131
  • Beigetreten: 12. Februar 13
  • Reputation: 11
  • Geschlecht:unbekannt

geschrieben 22. Mai 2020 - 12:04

Eine nicht definierte VAR ergibt "" und wird Ignoriert.
Das script bleibt mit WAIT stehen und es ploppt ein Fenster mit Fehlermeldung auf.
Wird das Fehler-Fenster geschlossen, arbeitet das script weiter.

g.s.
0

#8 Mitglied ist offline   stefan4711 

  • Gruppe: aktive Mitglieder
  • Beiträge: 41
  • Beigetreten: 22. April 20
  • Reputation: 0

geschrieben 23. Mai 2020 - 00:24

Danke für das Feedback, soorry ich meinte natürlich Parameter. Das Weglassen des "" bringt aber nichts, im Gegenteil es wird nur ein neuse CMD Fenster aufgemacht und nichts wird gestartet. Und natürlich wurde die Variable vorher definiert, die ganze Batch sieht so aus:

@Echo Off
mode con lines=10 cols=60



for %%f in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
  IF EXIST %%f:\autorun.inf SET LW=%%f
)

START /wait "%LW%:\start.exe">nul 2>&1 
%LW%:\Programm.exe"


EXIT



also noch mal, Programm.exe soll erst nach beenden von start.exe gestartet werden.

@alter Hase, bei deinem Zweizeiler wird das programm gestartet und der Test angezeigt, also nichts mit warten, find ich ja auch komisch, is aber leider so


lg

und schönes WE

Dieser Beitrag wurde von stefan4711 bearbeitet: 23. Mai 2020 - 00:31

0

#9 Mitglied ist offline   Shannon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 131
  • Beigetreten: 12. Februar 13
  • Reputation: 11
  • Geschlecht:unbekannt

geschrieben 23. Mai 2020 - 09:43

Sorry, Fehler vom Amt: die "" müssen sein ("neuer Fenstername")
Aber das Kernproblem ??

so getestet und funktioniert wie es soll:
@Echo Off
mode con lines=10 cols=60

for %%f in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
  IF EXIST %%f:\autorun.inf SET LW=%%f
)

echo ######### %LW% ###########
start "" /wait "%LW%:\PROG1.exe" >nul 2>&1 
echo ######### %LW% ###########
%LW%:\PROG2.exe

EXIT



eins hätte ich noch zur evt. Lösung des Problems
call "%LW%:\PROG1.exe" >nul 2>&1 



"call" funktioniert nicht nur mit .cmd sondern auch mit .exe

g.s.
0

#10 Mitglied ist offline   stefan4711 

  • Gruppe: aktive Mitglieder
  • Beiträge: 41
  • Beigetreten: 22. April 20
  • Reputation: 0

geschrieben 23. Mai 2020 - 15:45

cool danke

werd ich gleich mal ausprobieren, das Kernproblem war, dass 2 Programme gestartet werden sollen und das dritte dann erst wenn programm 2 beendet wurde und nicht erst wenn Programm 1 und 2 beendet wurdne, so hatte ich es zu letzt.


lg und schönes we noch
0

#11 Mitglied ist offline   stefan4711 

  • Gruppe: aktive Mitglieder
  • Beiträge: 41
  • Beigetreten: 22. April 20
  • Reputation: 0

geschrieben 23. Mai 2020 - 15:56

Ne, also habs jetzt so übernommen, weiss ja nicht was Du füer ein betriebssystem hast, ich nutze win10 64bit, vielleicht ist das ja das Problem, bei mir wird das start.exe und word in diesem testfall gleichzeitig gestartet. Warum auch immer. Sieht jetzt so aus bei mir

@Echo Off
mode con lines=10 cols=60

for %%f in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
  IF EXIST %%f:\autorun.inf SET LW=%%f
)

echo Stickkmenu %LW% ###########
start "" /wait "%LW%:\start.exe" >nul 2>&1 
echo start nach Beenden %LW% ###########
"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Word 2016.lnk"
EXIT





Und das Call für Programm1 hilft hier auhc nicht weiter, dass sorg ja doch nur dafür dass die exe in einem neuen Kontext gestartet wird, soweit ich weiss. Auch hier starten Programm 1 und 2 gleichzeitig.

lg

Dieser Beitrag wurde von stefan4711 bearbeitet: 23. Mai 2020 - 16:04

0

#12 Mitglied ist offline   Shannon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 131
  • Beigetreten: 12. Februar 13
  • Reputation: 11
  • Geschlecht:unbekannt

geschrieben 23. Mai 2020 - 16:52

win8.1 64b (mag win10 immer noch nicht)

habe alles mögliche getestet, immer gleiche Resultate.
Aber, ich kenne dein "start.exe" nicht.
Teste mal ein x-beliebiges anderes PRG ersatzweise.

g.s.
0

#13 Mitglied ist offline   DK2000 

  • Gruppe: Administration
  • Beiträge: 19.794
  • Beigetreten: 19. August 04
  • Reputation: 1.434
  • Geschlecht:Männlich
  • Wohnort:Oben auf dem Berg
  • Interessen:Essen, PC, Filme, TV Serien...

geschrieben 23. Mai 2020 - 16:58

Die Frage ist, was macht diese Start.exe. Startet die nur etwas anderes und beendet sich dann sofort von selbst? In dem Falle würde /wait nicht wie erwartet funktionieren. Es funktioniert schon einwandfrei, aber wartet halt nicht, bis sich das wieder beendet hat, was Start gestartet hat.
Ich bin kein Toilettenpapier-Hamster.
---
Ich bin ein kleiner, schnickeldischnuckeliger Tiger aus dem Schwarzwald.
Alle haben mich ganz dolle lila lieb.
0

#14 Mitglied ist offline   stefan4711 

  • Gruppe: aktive Mitglieder
  • Beiträge: 41
  • Beigetreten: 22. April 20
  • Reputation: 0

geschrieben 23. Mai 2020 - 17:33

komisch stimmt, mit nem anderen Programm gehts, aber meiner "laienhaften" Vorstellung nach sollte es doch CMD nicht interessieren was für das nun für eine exe ist, in diesem Fall wird das menue der PortableApps gestartet, wieso sollte das untersciedlich von wait behandelt werden?

LG
0

#15 Mitglied ist offline   Shannon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 131
  • Beigetreten: 12. Februar 13
  • Reputation: 11
  • Geschlecht:unbekannt

geschrieben 23. Mai 2020 - 17:45

ja,
der cmd ist das egal, aber wenn das PRG schon vor seinem Ende einen "exit" code abschickt!

g.s.
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0