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

Textdatei zeilenweise auslesen

Frage Entwicklung Batch & Shell

Mitglied: GlockMane

GlockMane (Level 1) - Jetzt verbinden

05.06.2012, aktualisiert 18:59 Uhr, 2269 Aufrufe, 6 Kommentare

Hallo Community,

Ich versuche anhand einer Liste Programme in der Windows Firewall zu blocken, leider klappt es nicht wie gewollt, da anscheinend die Parameter %name% und %pfad% beim netsh Aufruf nicht vorhanden sind..

Ist warscheinlich eine Kleinigkeit, allerdings bin ich nur ein Anfänger ;)

Hier mal der Code:

@echo off

setlocal EnableDelayedExpansion

cd /d "%~dp0"

for /f "tokens=1* delims=," %%b in ('findstr /n . "C:\Users\glock_000\Desktop\Blockliste.txt"') do (

if %%b==1 set "name=%%c"
if %%b==2 set "pfad=%%c"

netsh advfirewall firewall add rule name="!name!" dir=in program="!pfad!" action=block
netsh advfirewall firewall add rule name="!name!" dir=out program="!pfad!" action=block

)

pause
Mitglied: bastla
05.06.2012, aktualisiert um 19:01 Uhr
Hallo GlockMane!

Dein Stichwort ist "delayedexpansion" - auch gleich zu Beginn des Tutorials zur FOR-Schleife besprochen ...

Grüße
bastla
Bitte warten ..
Mitglied: GlockMane
05.06.2012 um 19:17 Uhr
Das habe ich in meinem Code von oben bereits beherzigt, aber es klappt leider nicht
Bitte warten ..
Mitglied: bastla
05.06.2012, aktualisiert um 19:24 Uhr
... was auch daran liegen könnte, dass Du ja nur entweder einen Namen oder einen Pfad festlegst (bzw den alten Variableninhalt weiter verwendest) - wenn Du übrigens die erste Zeile auf "echo on" änderst, kannst Du den Ablauf des Batches besser nachvollziehen ...

Was steht denn übrigens genau in Deiner "Blockliste.txt"?

Grüße
bastla
Bitte warten ..
Mitglied: GlockMane
05.06.2012 um 19:26 Uhr
Also die Blockliste.txt sieht so aus:

Programm1,D:\Programm1.exe
Programm2,D:\Programm2.exe
.
.
.

Im Endeffekt stehen in jeder Zeile Name und Pfad und ich will für jede Zeile sozusagen zwei Firewallregeln erstellen.. (ein- und ausgehend)
Bitte warten ..
Mitglied: bastla
05.06.2012 um 19:30 Uhr
Hallo GlockMane!

Dann sähe das aber eher einfach so aus:
01.
@echo on & setlocal 
02.
for /f "usebackq tokens=1* delims=," %%b in ("C:\Users\glock_000\Desktop\Blockliste.txt") do ( 
03.
    netsh advfirewall firewall add rule name="%%b" dir=in program="%%c" action=block 
04.
    netsh advfirewall firewall add rule name="%%b" dir=out program="%%c" action=block 
05.
06.
pause
Grüße
bastla
Bitte warten ..
Mitglied: GlockMane
05.06.2012 um 19:38 Uhr
Und genauso funktioniert es dann auch! Warum einfach.. ;)

Danke dir und einen schönen Abend!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Java
gelöst Textdatei in Array speichern (zeilenweise) (1)

Frage von Bruchsal zum Thema Java ...

Windows Server
gelöst Powershell array zeilenweise in Textdatei ausgeben (6)

Frage von Peter0816 zum Thema Windows Server ...

Batch & Shell
gelöst BATCH: Daten aus Textdatei auslesen und in neue Textdatei separieren (9)

Frage von Manuel1234 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (56)

Frage von pjrtvly zum Thema Internet ...

Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

Windows 7
Bluesreens unternehmensweit (22)

Frage von SYS64738 zum Thema Windows 7 ...

LAN, WAN, Wireless
gelöst IP Adressen - Modem - Switch - Accesspoint (22)

Frage von teuferl82 zum Thema LAN, WAN, Wireless ...