Top-Themen

Aktuelle Themen (A bis Z)

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 Taskkill mit Variablen aus Datei (oder alternative Methoden?)

Mitglied: papiac

papiac (Level 1) - Jetzt verbinden

04.11.2014, aktualisiert 06.11.2014, 991 Aufrufe, 3 Kommentare, 1 Danke

Guten Tag!

Ich möchte für eine Anwendung (Backend SQL-Server) regelmäßig Updates durchführen. Dies setzt aber voraus, das bestimmte User nicht angemeldet sind.
Daher "tüftele" ich seit längerem an einer Lösung, die entsprechenden Prozesse / Verbindungen in der Datenbank zu trennen oder die Anwendung remote per Taskkill "abzuschiessen".

Für die Taskkill-Variante lasse ich die PC-Namen über den SQL-Server in eine Textdatei schreiben PC.txt
Muster:
PC04
PC09
...

Diese soll von folgender Batch ausgelesen und dann das Taskkill auf den PC's %pcid% ausgeführt werden.

01.
@echo 
02.
setlocal ENABLEDELAYEDEXPANSION 
03.
 
04.
FOR /F "tokens=*" %%i IN (c:\PC.txt) DO SET pcid=%%i &  
05.
call :Prozess 
06.
 
07.
:Prozess 
08.
ECHO Prozesse an PC's %pcid% werden beendet. 
09.
PAUSE 
10.
TASKKILL /S %pcid% /IM notepad*
Sobald mehr als ein PC in der PC.txt steht, wird Taskkill nur auf dem letzten in der Liste ausgeführt. Fehlt hier noch eine Schleife?

Für Eure Vorschläge zur Lösung oder das Prozedere (für die Aufgabenstellung) zu vereinfachen wäre ich wirklich dankbar!
Mitglied: ITvortex
04.11.2014, aktualisiert um 16:24 Uhr
Ja!

Du möchtest einen Task beenden, allerdings steht in deiner %pcid% nur der letzte Wert von "i".

So wie du das jetzt hast:

10 Durchläufe:
01.
@echo 
02.
setlocal ENABLEDELAYEDEXPANSION 
03.
 
04.
FOR /F "tokens=*" %%i IN (c:\PC.txt) DO SET pcid=%%i &  
05.
call :Prozess 
06.
-------------------------------pcid=i=1; pcid=i=2; ......... 
07.
-------------------------------pcid=i=10; 
08.
 
09.
So jetzt hat pcid den Wert 10. 
10.
 
11.
:Prozess 
12.
ECHO Prozesse an PC's %pcid% werden beendet. 
13.
PAUSE 
14.
 
15.
--------------------Hier wird dein Taskkill aufgerufen in dem pcid (pcid=10) gelöscht werden soll, also das letzte. 
16.
--------------------Das was in der Schleife passiert hat mit deinem Taskkill nichts zu tun, 
17.
--------------------deshalb weiß der Befehl auch nichts von pcid=1; pcid=2 sondern nur von pcid=10 
18.
TASKKILL /S %pcid% /IM notepad*

Also wenn du es so machen willst und eine zweite Schleife verwenden möchtest dann musst du deine "pcid" als Obergrenze für deine Durchlaufende for Schleife nehmen, sodass "i" bis (wenn 10 prozesse sind) maximal "pcid=10" durch geht. und dann killst du den Task an jeder "i'"*ten Stelle.

Liebe Grüße
ITvortex
Bitte warten ..
Mitglied: 114757
LÖSUNG 04.11.2014, aktualisiert 06.11.2014
Das sollte hier ausreichen...
01.
@echo off 
02.
FOR /F "tokens=*" %%i IN (c:\PC.txt) DO @( 
03.
 ECHO Prozesse an PC '%%i' werden beendet. 
04.
 TASKKILL /S %%i /IM notepad* 
05.
)
oder nach deinem Schema
01.
@echo off & setlocal 
02.
FOR /F "tokens=*" %%i IN (c:\PC.txt) DO @( 
03.
  call :Prozess %%i 
04.
05.
goto :eof 
06.
 
07.
:Prozess 
08.
ECHO Prozesse an PC '%1' werden beendet. 
09.
TASKKILL /S %1 /IM notepad* 
10.
goto :eof
Gruß jodel32
Bitte warten ..
Mitglied: papiac
06.11.2014 um 12:08 Uhr
Vielen Dank!

... warum in die Ferne schweifen, wenn das Gute liegt so nah ...
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Taskkill Explorer
Frage von Mario76Batch & Shell6 Kommentare

Hallo zusammen, ich möchte mit einer Batch-Datei alle geöffneten Windows Explorer schließen und im Anschluss wiederherstellen (so wie sie ...

Batch & Shell

Datei als Variable auslesen und Variable ändern

gelöst Frage von chainsawBatch & Shell1 Kommentar

Hallo Profis, ich komme mit folgendem Problem nicht weiter: In dem Verzeichnis "C:\logfiles" landen bei mir Log-Dateien. Diese Log-Dateien ...

Batch & Shell

Taskkill für bestimmtes cmd Fenster

gelöst Frage von n0cturneBatch & Shell6 Kommentare

Hallo Zusammen, ich rufe mit einer cmd (title=Testanwendung-Watchdog-%Variable%) die psexec folgendermaßen auf: Nun mögchte ich genau dieses CMD Fenster ...

C und C++

Powershell Methode Compare-Object als C-Sharp Methode

gelöst Frage von mayho33C und C++4 Kommentare

Hallo @ All Ich beiße wieder mal an einem Problemchen und hoffe auf eure Unterstützung Ich möchte folgendes Powershell-Scriptchen ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 11 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 13 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 13 StundenMicrosoft8 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 2 TagenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1026 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Webbrowser
Welcher Browser ist der Beste?
Frage von justtinWebbrowser13 Kommentare

Hallo Leute Ich habe eine interessante Frage. Mich wurde mal interessieren welcher Browser ist eure meinung nach der beste? ...