Abfrage auf comspec
Vieleicht wißt Ihr ja weiter!
Hallo,
habe eine Batchfile geschrieben die einen bestimmten Dienst automatisch/manuell aktivieret bzw. deaktiviert.
Mein File:
@echo off
:logon
echo.
echo LOGON
echo.
echo.
echo.
echo Dieses File wurde geschrieben um den VNC-Server zu starten und
echo um dessen Dienst zu AKTIVIEREN. Nur der berechtigte User kann und
echo darf diese Datei oeffnen !!!!
echo.
echo Start/Stop VNC Server
echo.
echo.
echo Aktion start/stop:
set /p Aktion=start:
IF /i %Aktion% == start net start vnc
echo.
echo.
echo Dienst gestartet
echo.
start /min "" %comspec% /C "ping -n 7 localhost & net stop vnc & exit"
set /p Aktion=stop:
IF /i %Aktion% == stop net stop vnc
cls
echo.
echo !!! Zeitueberschreitung - Dienst wurde automatisch beendet !!!
echo.
echo.
echo !!!!!!!!!!!!!!!!!!!!!! Dienst gestoppt !!!!!!!!!!!!!!!!!!!!!!!
echo.
echo.
sleep 5
exit
Mein Problem:
start /min "" %comspec% /C "ping -n 7 localhost & net stop vnc & exit"
möchte dass sobald der Ping abgelaufen ist (Fenster geschlossen) wieder in das Hauptfenster springen soll also von comspec in die eigentliche Routine. D.h.
wenn der Ping abgelaufen ist soll er im Hauptfenster:
echo.
echo !!! Zeitueberschreitung - Dienst wurde automatisch beendet !!!
echo.
echo.
echo !!!!!!!!!!!!!!!!!!!!!! Dienst gestoppt !!!!!!!!!!!!!!!!!!!!!!!
echo.
echo.
wiedergeben
Habe bisher einges bsp. goto sprung, schleife aussprobiert nichts funzte richtig.
Danke schon mal im voraus
Siegmar
Hallo,
habe eine Batchfile geschrieben die einen bestimmten Dienst automatisch/manuell aktivieret bzw. deaktiviert.
Mein File:
@echo off
:logon
echo.
echo LOGON
echo.
echo.
echo.
echo Dieses File wurde geschrieben um den VNC-Server zu starten und
echo um dessen Dienst zu AKTIVIEREN. Nur der berechtigte User kann und
echo darf diese Datei oeffnen !!!!
echo.
echo Start/Stop VNC Server
echo.
echo.
echo Aktion start/stop:
set /p Aktion=start:
IF /i %Aktion% == start net start vnc
echo.
echo.
echo Dienst gestartet
echo.
start /min "" %comspec% /C "ping -n 7 localhost & net stop vnc & exit"
set /p Aktion=stop:
IF /i %Aktion% == stop net stop vnc
cls
echo.
echo !!! Zeitueberschreitung - Dienst wurde automatisch beendet !!!
echo.
echo.
echo !!!!!!!!!!!!!!!!!!!!!! Dienst gestoppt !!!!!!!!!!!!!!!!!!!!!!!
echo.
echo.
sleep 5
exit
Mein Problem:
start /min "" %comspec% /C "ping -n 7 localhost & net stop vnc & exit"
möchte dass sobald der Ping abgelaufen ist (Fenster geschlossen) wieder in das Hauptfenster springen soll also von comspec in die eigentliche Routine. D.h.
wenn der Ping abgelaufen ist soll er im Hauptfenster:
echo.
echo !!! Zeitueberschreitung - Dienst wurde automatisch beendet !!!
echo.
echo.
echo !!!!!!!!!!!!!!!!!!!!!! Dienst gestoppt !!!!!!!!!!!!!!!!!!!!!!!
echo.
echo.
wiedergeben
Habe bisher einges bsp. goto sprung, schleife aussprobiert nichts funzte richtig.
Danke schon mal im voraus
Siegmar
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 119837
Url: https://administrator.de/contentid/119837
Ausgedruckt am: 25.11.2024 um 10:11 Uhr
10 Kommentare
Neuester Kommentar
Servus,
vorab - schau dir mal die an - genauer Code.
An deiner Stelle würde ich das etwas anders schreiben.
Wobei mir nicht ganz klar ist, für was du das Ping haben willst * und das mit Net Start "nur" der Dienst gestartet wird und nicht die Startart auf aktiviert/deaktiviert gestellt wird.
Mit diesem zweizeiler startet / stoppt der VNC Dienst - je nachdem, ob er vorher gestartet / oder gestoppt war. (ohne Benutzer Interaktion)
Gruß
vorab - schau dir mal die an - genauer Code.
An deiner Stelle würde ich das etwas anders schreiben.
Wobei mir nicht ganz klar ist, für was du das Ping haben willst * und das mit Net Start "nur" der Dienst gestartet wird und nicht die Startart auf aktiviert/deaktiviert gestellt wird.
Mit diesem zweizeiler startet / stoppt der VNC Dienst - je nachdem, ob er vorher gestartet / oder gestoppt war. (ohne Benutzer Interaktion)
net start |find "vnc" && Net stop vnc || net start vnc
ping -n 7 localhost >nul
Gruß
- in meinem Beispiel dient es dazu, die Ausgabe noch sehen zu können.
Du könntest die Zeilen von TimoBeil etwas abgewandelt verwenden (ungetestet) und den Dreizeiler-Batch per call aufrufen:
Damit wird als Exitcode entweder 1 oder 2 übergeben, was über %errorlevel% vom aufrufenden Batch verarbeitet werden kann.
Davon abhängig kannst du dann den Bildschirm mit entsprechende Meldungen füllen, bis er vollgeschrieben ist.
net start |find "vnc" && Net stop vnc & set /a E=2 || net start vnc & set /a E=3
ping -n 7 localhost >nul
exit /b %E%
Damit wird als Exitcode entweder 1 oder 2 übergeben, was über %errorlevel% vom aufrufenden Batch verarbeitet werden kann.
Davon abhängig kannst du dann den Bildschirm mit entsprechende Meldungen füllen, bis er vollgeschrieben ist.
Servus,
du ganz im Ernst - das ist Augenwischerei.
Mit Boardmitteln und damit meine ich wirklich Werkzeuge die bei Winblows dabei sind....
Ist es vollkommen einfach von einem Rechner aus, die Dienste eines anderen zu steuern.
Also auch VNC an oder auszuknipsen - ohne dass das jemand "merkt" - (und wie das geht verrate ich nur per PN)
Von daher solltet Ihr euch ein Tool besorgen, das nur dann eine Steuerung zuläßt, wenn der User zustimmt.
Nur hab ich da keine Ahnung von - da ich einen kostenpflichtigen Viewer benutze
Gruß
du ganz im Ernst - das ist Augenwischerei.
Mit Boardmitteln und damit meine ich wirklich Werkzeuge die bei Winblows dabei sind....
Ist es vollkommen einfach von einem Rechner aus, die Dienste eines anderen zu steuern.
Also auch VNC an oder auszuknipsen - ohne dass das jemand "merkt" - (und wie das geht verrate ich nur per PN)
Von daher solltet Ihr euch ein Tool besorgen, das nur dann eine Steuerung zuläßt, wenn der User zustimmt.
Nur hab ich da keine Ahnung von - da ich einen kostenpflichtigen Viewer benutze
Gruß
Zitat von @Spyeer:
ich weis dass es einfacher geht. Ich habe es vorgeschrieben bekommen
dass es so wie ich es beschrieben habe sein soll.
ich weis dass es einfacher geht. Ich habe es vorgeschrieben bekommen
dass es so wie ich es beschrieben habe sein soll.
Und ich mache nie das, was man mir vorschreibt, sondern hab (meistens) eigene Ideen und das ich die habe, dafür werde ich bezahlt
Vielleicht hast du mich nicht ganz verstanden,
*lol* ich glaub das können wir beide über den anderen schreiben echo !!! Zeitueberschreitung - Dienst wurde automatisch beendet !!!
So ganz klar, was du mit dieser "Vorgekaukelten Meldung erreichen willst - wird mir das immer noch nicht..
das Prog soll auf einer Anlage laufen die nur wenn ein Mitarbeiter VOR Ort ist > connecten soll. Der Client ist am A* der Welt.
Dafür kann doch der A* nichts
Hast du keine Idee ??
Der Tag, an dem mir die Ideen ausgehen, ist der Tag, wo ich mein Eigenheim 2 Meter unterirdisch beziehe Also wenn einer Vor Ort ist - ins Loginscript schreiben, und das stoppen per At um 2.00 nachts?
Ich benötige keine andere Software dazu.
? ja "brauchen" nicht, aber "sinnvoller" - obwohl wie gesagt - ich geb mir Mühe den Sinn zu verstehen, aber offensichtlich ist meine innere Uhr noch auf Montag gestellt...Brauche nur den "Sprung" von einem Fenster ins andere.
- Dann mach zur Not zwei Bätche, oder starte nicht comspec, sondern ping, nicht per start, sondern per call.
- call ping.exe -n 7 localhost
- net stop vnc
Btw: ich hab dein Script nicht ausprobiert - weil ich den Sinn immer noch nicht verstanden habe - und mir das "ausprobieren" - daher nix bringt.
Gruß
Ich glaube, dass du nicht lesen kannst.
Und tschüss....
Und tschüss....