Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch - start WAIT - funktioniert nicht

Frage Entwicklung Batch & Shell

Mitglied: ovu-p86

ovu-p86 (Level 1) - Jetzt verbinden

24.08.2011, aktualisiert 15:15 Uhr, 10366 Aufrufe, 6 Kommentare

Hallo,

will unter XP SP3 ein Programm über einen Cmd aufrufen.

Dabei soll zunächst ein Dienst gestartet werden dann ein Programm aufgerufen werden.
Erst nach Beendigung des Programms soll der Cmd weiterlaufen und den Dienst wieder beenden.

Bei dem aufzurufenden Programm handelt es sich um VirtualBox/BitBox.

01.
net start BitBoxService 
02.
start "" /Wait C:\progr\kommu\BitBoxVM\BitBox\Client\BitBox.exe 
03.
net stop BitBoxService
Problem: Der Cmd läuft durch. Habs auch mit Call und nur Programmaufruf probiert. Hab mir zunächst mit "Pause" beholfen, ab das ist keine schöne Lösung.

Ist mir auch schon bei anderen Programmen aufgefallen, das "start /wait ....." nicht funktioniert.
Ähnliches mit Vmware bspw. funktioniert.

1. Frage: Woran liegt es, daß "start /wait" bei manchen Programmen funktioniert und bei einigen nicht?
Mein konkreter Fall ist evtl. speziell, da "VirtualBox/BitBox" automatisch mit einem anderen Benutzerkonto gestartet wird.

2. Frage: Wie ich kann ich den konkreten Fall lösen?


Bin für Lösungsvorschläge dankbar.

Gruß
Uwe
Mitglied: BigWim
24.08.2011 um 13:03 Uhr
Hallo Uwe,

das funktioniert schon - nur nicht wie Du es Dir vorstellst

Wenn Du das ganze mal mit Notepad.exe probierst, wirst Du sehen, dass alle Deine Varianten funktionieren.

Vermutlich macht die BitBox.exe "etwas" (Aufruf einer weiteren Anwendungen, ....) und beendet sich dann wieder.

So etwas wirst Du vielleicht mit einer Schleife (Abfrage des Tasks) hinbekommen, was Du aber gut überdenken solltest.

Gruß
Markus
Bitte warten ..
Mitglied: ovu-p86
24.08.2011 um 13:44 Uhr
Hallo Markus,

genau, es funktioniert ja mit diversen Programmen, aber manchmal eben nicht.

Hab mal geguckt. Du hast recht, die BitBox.exe ist in der Tat nicht als Process zu finden. Stattdessen eben div. andere von BitBox.exe aufgerufene.

Die Lösung der Task-Abfrage ließe sich also realisieren, möchte aber eine Schleife mit ständiger Abfrage des Tasks wegen der zusätzlichen Ressourcennutzung vermeiden.

Gibt es noch eine andere Möglichkeit?

Gruß
Uwe
Bitte warten ..
Mitglied: ovu-p86
24.08.2011 um 14:58 Uhr
Hallo Markus,

da es wohl keine andere Lösung gibt, hab ichs jetzt doch mit der Schleife gemacht und mir einen Task rausgepickt.

Ressourcen halten sich doch in Grenzen. Ists mir wert. Brauch mich dann nicht mehr um den Cmd kümmern.

01.
@echo off & setlocal 
02.
net start BitBoxService 
03.
C:\progr\kommu\BitBoxVM\BitBox\Client\BitBox.exe 
04.
FOR /L %%n IN (1,1,1000000000000) DO ping -n 10 localhost > nul & for /f %%i in ('tasklist^| find /I /C "bitb.exe"') do if %%i EQU 0 net stop BitBoxService & exit
So funktionierts.

Danke nochmal für deinen Hinweis: "Vermutlich macht die BitBox.exe "etwas" (Aufruf einer weiteren Anwendungen, ....) und beendet sich dann wieder."
Das war das Problem.


Gruß
Uwe


[edit]
Um kein vordefiniertes Ende der Schleife zu haben die Zeile 4 von oben durch
01.
:schleife 
02.
ping -n 10 localhost > nul & for /f %%i in ('tasklist^| find /I /C "bitb.exe"') do if %%i EQU 0 (net stop BitBoxService) ELSE (goto schleife)
ersetzen

[/edit]
Bitte warten ..
Mitglied: BigWim
24.08.2011 um 15:27 Uhr
Hallo Uwe,

freut mich, Dir einen entscheidenen Tipp gegeben zu haben.

Vielleicht hätte ich da noch einen. Du kannst Deine Batch etwas vereinfachen, in etwa so

01.
@echo off 
02.
 
03.
:CheckTask 
04.
REM Sleep 2 
05.
REM tasklist | find /I /C "notepad.exe" >NUL: && echo Notepad gestartet && goto :CheckTask 
06.
tasklist | find /I /C "bitb.exe" >NUL: && Sleep 2 && goto :CheckTask 
07.
 
08.
echo Ende
Und dann kannst Du den Thread auf gelöst jetzt - das macht sich gut in meiner Statistik [Edit] Ich brauche eine Brille! [/Edit]

Gruß
Markus
Bitte warten ..
Mitglied: Skyemugen
24.08.2011 um 15:56 Uhr
Aloha Markus,

sleep.exe ist aber nicht bei jedem im Systemverzeichnis vorhanden, wenn es Windows-Default ist (dann gibt es kein sleep 2)

greetz André
Bitte warten ..
Mitglied: BigWim
24.08.2011 um 16:07 Uhr
Hallo André,

sleep.exe ist aber nicht bei jedem im Systemverzeichnis vorhanden
jetzt versteh ich endlich mal die Sportaufgabe mit dem Ping.

Danke für den Hinweis

Gruß
Markus
Bitte warten ..
Ähnliche Inhalte
Windows Netzwerk
gelöst Copy Befehl in einer batch funktioniert nicht. (3)

Frage von Pauli-H zum Thema Windows Netzwerk ...

Batch & Shell
gelöst Batch mit Copy auf SBS2008 funktioniert nicht, auf Client geht es (9)

Frage von CyCOtt zum Thema Batch & Shell ...

Batch & Shell
Drucker über Shell-Batch installieren (2)

Frage von Ray00731 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Rechtliche Fragen

Heiseshow, live ab 12 Uhr: Steht die Vorratsdatenspeicherung vor dem Aus?

Tipp von sabines zum Thema Rechtliche Fragen ...

Outlook & Mail

Outlook Probleme nach Juni Updates - KB3203467 ist Schuld

(1)

Information von Deepsys zum Thema Outlook & Mail ...

Microsoft Office

Windows 7, Office 2016 RTM und Updates ohne WSUS

Tipp von chgorges zum Thema Microsoft Office ...

E-Mail

Thunderbird 52 hat Druckprobleme

(3)

Tipp von magicteddy zum Thema E-Mail ...

Heiß diskutierte Inhalte
Server-Hardware
Einem Stromausfall entgegen wirken (28)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Humor (lol)
Aktuell keine IT Probleme (22)

Frage von lordofremixes zum Thema Humor (lol) ...

Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...