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

Zeile in Batch überprüfen ob vorhanden und wenn nicht einfügen

Frage Entwicklung Batch & Shell

Mitglied: platin

platin (Level 1) - Jetzt verbinden

20.11.2012 um 14:37 Uhr, 2919 Aufrufe, 7 Kommentare

Hallo,

ich benötige in der %systemroot%\drivers\etc\services einen weiteren Eintrag.

Diesen würde ich gern per GPO verteilen. Meines Wissens nach geht das nur per Batch files. Also "Skript beim Starten".

Jedoch müsste es doch so sein, dass wenn ich einfach eine Batch á la:

01.
 echo service 1111/tcp >> %systemroot%\system32\drivers\etc\services 
ausführe, dass er bei jedem Start diese Zeile in die Datei schreibt.

Also brauche ich eine Prüfung in meinem Batch Script, welche ungefähr so aussieht:

Wenn Zeile service 1111/tcp in %systemroot%\system32\drivers\etc\services vorhanden dann gehe zu :ende

Wenn Zeile service 1111/tcp in %systemroot%\system32\drivers\etc\services NICHT vorhanden dann schreibe in Datei und :ende


Hat jemand eine Idee, wie ich das bewerkstellige?

Danke und Grüße

platin

Mitglied: Hitman4021
20.11.2012 um 14:49 Uhr
Hallo,

Ungetestet aber so in die Richtung
01.
@echo off && set local 
02.
for /f %%i in ("%systemroot%\system32\drivers\etc\services") do ( 
03.
    if %%i == "1111/tcp" ( 
04.
        set /p true = "true" 
05.
    )  
06.
07.
if %true% == "true" ( 
08.
    echo service 1111/tcp >> %systemroot%\system32\drivers\etc\services  
09.
)
Gruß
Bitte warten ..
Mitglied: platin
20.11.2012 um 14:57 Uhr
Danke für deine Antwort.

Ich erhalte diese Meldung:

01.
 LOCALAPPDATA=C:\Users\username\AppData\Local 
02.
"(" kann syntaktisch an dieser Stelle nicht verarbeitet werden.
Bitte warten ..
Mitglied: Hitman4021
20.11.2012 um 15:05 Uhr
Hallo,

ja mein Fehler es waren zwei " zuviel

01.
@echo off && set local 
02.
for /f %%i in (%systemroot%\system32\drivers\etc\services) do ( 
03.
    if %%i == "service 1111/tcp" ( 
04.
        set /p true = "true" 
05.
    )  
06.
07.
if %true% == "true" ( 
08.
    echo service 1111/tcp >> %systemroot%\system32\drivers\etc\services  
09.
)
Gruß
Bitte warten ..
Mitglied: platin
20.11.2012 um 15:08 Uhr
Hitman4021, noch mal danke für die rasche Antwort.

Jedoch besteht das Problem weiterhin.

Ich kann mir keinen Reim drauf machen, wieso das so ist.
Bitte warten ..
Mitglied: bastla
20.11.2012, aktualisiert um 15:16 Uhr
Hallo platin!

Vielleicht so:
findstr /ic:"service 1111/tcp" "%systemroot%\system32\drivers\etc\services">nul || >>"%systemroot%\system32\drivers\etc\services" echo service 1111/tcp
Hisichtlich Hitmans Ansatz: Vermutlich liegt's am Leerzeichen (zwischen "tcp" und ">>"), das mit in die Zeile geschrieben wird ...

Grüße
bastla
Bitte warten ..
Mitglied: platin
20.11.2012 um 15:50 Uhr
Hallo bastla,

danke. Das hat funktioniert.

Und wie bewerkstellige ich "suche in Datei nach "string" und ersetze durch "string2"?

Grüße

platin
Bitte warten ..
Mitglied: bastla
20.11.2012 um 16:15 Uhr
Hallo platin!

Ganz so selten kommt das Thema hier ja nicht vor - ein Beispiel: http://www.administrator.de/forum/suchen-ersetzen-per-batch-in-einer-tx ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch bestimme Zeile einer vorherigen batch einfügen (9)

Frage von Frensche zum Thema Batch & Shell ...

VB for Applications
gelöst VbScript: ADODB.Stream: Neue Zeile einfügen (2)

Frage von BirdyB zum Thema VB for Applications ...

Batch & Shell
gelöst Mit batch zeilen auslesen (2)

Frage von keksegriller zum Thema Batch & Shell ...

Batch & Shell
gelöst Mittels Batch jede Zeile einer Textdatei prüfen (4)

Frage von Peter32 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
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 (19)

Frage von SYS64738 zum Thema Windows 7 ...

LAN, WAN, Wireless
IP Adressen - Modem - Switch - Accesspoint (18)

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

Windows Netzwerk
gelöst DNS ins mehreren Subnetzen (15)

Frage von joerg zum Thema Windows Netzwerk ...