sabcat

Batchabfrage zum Prüfen ob ein Prozess läuft


Hallo,

folgendes Script lief bis vor kurzem auf unseren WinXP Professional PC's ohne Probleme, jetzt auf ein mal nicht mehr.

@echo off

title Lotus Notes starten und Word-Makro-Sicherheit auf Mittel setzen

cls

regedit /s N:\ADB\Bat\WordSecurity_middle.reg

set $pfad=0

:: für Mobility Windows wird Notes mit Angabe zum INI-File gestartet, vgl. Icon)
if exist C:\Programme\Lotus\Notes\notes.exe (set $pfad=C:\Programme\Lotus\Notes\notes.exe =Z:\Lotus-Notes-Data\notes.ini)

if exist C:\"Program Files"\Lotus\Notes\notes.exe (set $pfad=C:\"Program Files"\Lotus\Notes\notes.exe)  

if "%$pfad%"=="0" goto no_notes  

(qprocess > find nlnotes.exe >NUL) || start %$pfad%
goto end

:no_notes
echo Lotus Notes nicht gefunden, bitte manuell starten.
pause
goto end

:end
set $pfad=

Folgende Situation soll damit gelöst werden:

Es sind bei uns in der Firma zwei verschiedene Betriebssysteminstallationen vorhanden, einmal XP Professional in englischer Version und einmal in deutscher. Auf das setzten der Makrosicherheit hat das keinen Einfluss, da der Registryeintrag in deutscher und englischer Version der selbe ist. Bei Lotus sieht das anders aus da die Installationsverzeichnisse unterschiedlich sind.


Ich habe schon mehere hier in den Foren gepostete Möglichkeiten durchprobiert aber das Script hakt immer wieder bei "qprocess > find" und bricht ab. Weiß von euch jemand noch eine Möglichkeit oder entdeckt den/die Fehler?

Danke für die Hilfe,

MfG sabcat
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 106113

Url: https://administrator.de/forum/batchabfrage-zum-pruefen-ob-ein-prozess-laeuft-106113.html

Ausgedruckt am: 18.06.2025 um 22:06 Uhr

60730
60730 15.01.2009 um 11:46:26 Uhr
Goto Top
Servus,

das sollte laufen, obwohl ein paar Schönheitsfehler drin sind.

set $pfad=C:\"Program Files"\Lotus\Notes\notes.exe
wäre "schöner
set "$pfad=C:\Program Files\Lotus\Notes\notes.exe"

Nimm mal die () heraus.

Gruß
sabcat
sabcat 15.01.2009 um 13:17:17 Uhr
Goto Top
Danke für die Antwort.

Wenn ich
set $pfad=C:\"Program Files"\Lotus\Notes\notes.exe
zu
set "$pfad=C:\Program Files\Lotus\Notes\notes.exe"
ändere kommt der Fehler "Windoes cannot fond 'C:\Program' please try [...]", also habe ich es wie oben gelassen.

Die Klammern habe ich heraus genommen, allerdings lief das Script dann immer noch nicht durch. jetzt habe ich
if "%$pfad%"=="0" goto no_notes
raus genommen und es funktioniert. Ich möchte aber ungern auf die Abfrage verzichten, der Code scheint aber richtig zu sein.

Kann es sein, dass die If-Abfrage das Script beendet wenn der Fall nicht zutrifft?
Biber
Biber 15.01.2009 um 13:19:06 Uhr
Goto Top
Moin sabcat,

willkommen im Forum.

Kann nicht sein.
Die Ausgabe von "qprocess" soll doch nicht eine Textdatei namens "find" erzeugen, sondern die Ausgabe von "qprocess [Parameter] "find nlnotes" soll ausgewertet werden.
Also:

... oder was auch immer qprocess für eine Syntax erwartet.
Das Utility kenn ich nicht. Falls da auch noch eine Bildschrimausgabe entsorgt werden muss, dann:

Grüße
Biber
60730
60730 15.01.2009 um 13:27:53 Uhr
Goto Top
Servus Biber,

da hab ich doch glatt voll den Bock geschossen, aber nicht den, der dir aufgefallen ist face-wink

probier das mal aus:
qprocess > find cmd.exe && echo yes
bzw:
qprocess > find nix.exe && echo yes

"Merk"würdigerweise läuft der Befehl (zumindestens in der cmd (als batch nicht getestet)

Gruß

edit
/? hülft ja auch face-wink
qprocess nlnotes.exe && start %$pfad%
/edit
sabcat
sabcat 15.01.2009 um 13:44:26 Uhr
Goto Top
qprocess scheint nicht sonderlich wählerisch zu sein, hab das gerade auch alles mit einer batch getestet, funktioniert auch alles.

Das qprocess-Problem ist also erledigt, aktueller Stand des gesamten Scripts:
@echo off

title Lotus Notes starten und Word-Makro-Sicherheit auf Mittel setzen

cls

regedit /s N:\ADB\Bat\WordSecurity_middle.reg
echo Word Makrosicherheit auf Stufe Mittel gesetzt.

set $pfad=0

:: für Mobility Windows wird Notes mit Angabe zum INI-File gestartet, vgl. Icon)
if exist C:\Programme\Lotus\Notes\notes.exe (set $pfad=C:\Programme\Lotus\Notes\notes.exe 

=Z:\Lotus-Notes-Data\notes.ini)

if exist C:\"Program Files"\Lotus\Notes\notes.exe (set $pfad=C:\"Program Files"\Lotus\Notes\notes.exe)  
echo pfad=%$pfad%

if "%$pfad%"=="0" goto no_notes  

qprocess find nlnotes.exe || start %$pfad%
goto end

:no_notes
echo Lotus Notes nicht gefunden, bitte manuell starten.
pause
goto end

:end
set $pfad=
So jetzt hängt es wie oben beshrieben an der If
if "%$pfad%"=="0" goto no_notes
Biber
Biber 15.01.2009 um 18:10:07 Uhr
Goto Top
Moin sabcat,

So jetzt hängt es wie oben beshrieben an der If
if "%$pfad%"=="0" goto no_notes
Das kann aber auch daran liegen, dass Du unbeabsichtigt ein trailing blank am Ende dieser zuweisung stehen hast:

set $pfad=0

Ändere das mal explizit in
set "$pfad=0"

P.S. Wenn Du Variablen SETtest in Deiner Batch und nur da, dann solltest Du auch
@echo off & SetLocal
...schreiben statt nur "@echo off"

Grüße
Biber
60730
60730 15.01.2009 um 18:14:44 Uhr
Goto Top
Zitat von @sabcat:
So jetzt hängt es wie oben beshrieben an der If
if "%$pfad%"=="0" goto no_notes

face-wink

Nimm mal in Zeile 10:
set $pfad=0 raus.
Zeile 20 wird dann:
if %$pfad%=="" goto no_notes

gruß
edit Biber ist früher aufgestanden face-wink
Heiß diskutiert
MysticFoxDEKI - Leider dumm wie ein Sack ZiegelsteineMysticFoxDE - 73 Kommentarenapo69Windows Server 2022 Komplettsicherung. Welches Medium?napo69 - 57 KommentarecharlesrhowardSetzt ihr Chat GPT oder ähnliche Tools in eurem Admin-Alltag ein?charlesrhoward - 45 KommentareBlackmannZustellung MailBlackmann - 41 KommentareMysticFoxDEFinanzamt - Digitalisierung ist eben nicht gleich AutomatisierungMysticFoxDE - 19 Kommentarepixel24Habe Ruckus-Switch getötet, benötige Konsolenkabelpixel24 - 18 KommentaredirkschwarzWinbox auf Mikrotik Router hinter Deutscher Glasfaserdirkschwarz - 15 KommentareDerMaddinFiltermöglichkeit im Forum?DerMaddin - 14 Kommentarecsege1Win 10 zeigt iPhone-Hotspot nicht ancsege1 - 14 Kommentarechi-hua-huaGekauftes SSL-Zertifikat bei Apache Webserver einf. ssl-params.confchi-hua-hua - 13 KommentareBKL157VBScript - StartscriptBKL157 - 13 KommentareKenMarleyHyper-V-Drucker schaltet sich automatisch abKenMarley - 13 Kommentarefritzkarl85Kontakte synchronisieren im Unternehmenfritzkarl85 - 12 Kommentare