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, 9654 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Windows Server
Batch Script bei Start ausführen (3)

Frage von KEFHVDI zum Thema Windows Server ...

Linux
LTSP: PXE Boot funktioniert nicht (15)

Frage von Fenris14 zum Thema Linux ...

Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (9)

Frage von clragon zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...