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 Batch soll bestimmte Zeilen auslesen und ersetzen, aber wenn ich eine Zeile einfüge welche eine Klammer enthält startet die Batch Datei nicht...

Mitglied: FlorianHH

FlorianHH (Level 1) - Jetzt verbinden

21.03.2011, aktualisiert 18.10.2012, 8072 Aufrufe, 4 Kommentare

Hallo zusammen,
ich hoffe ihr könnt mir helfen !

Ich habe folgendes Problem:

Ich möchte, dass die Batch-Datei eine Quelldatei öffnet, welche ich definiert habe. Diese Text-Datei enthält mehrere Zeilen, welche ausgelesen und durch eine andere Zeile ersetzt werden sollen.

Die Batch-Datei funktioniert so lange bis ich eine Zeile eingebe die verändert werden soll, wo eine Klammer "()" enthalten ist...
(Zumindest erscheint es mir so, dass es an der Klammer liegt, da die Batch die ganze Zeit funktioniert hat. Aber jetzt wo eine Zeile mit einer Klammer dabei ist funktioniert es nicht mehr).

Im unteren Code funktioniert die erste Zeile allein ohne Probleme:
01.
SET ganze_zeile=!ganze_zeile:# DE0000000000000000000000000000001 Standort1 Name=# DE0000000000000000000000000000001 DE0000000000000000000000000000001 1-1:1.9.1 Standort1 Name!
aber sobald ich die zweite hinzufüge:
01.
SET ganze_zeile=!ganze_zeile:# DE0000000000000000000000000000002 Standort2 (Name)=# DE0000000000000000000000000000002 DE0000000000000000000000000000002 1-1:1.9.1 Standort2 Name!
startet die Batch-Datei nur ganz kurz und schließt sich direkt wieder ohne dass ich etwas erkennen kann und die Ausgabe Datei wird nicht erstellt.


Hier meien komplette Batch-Datei:
01.
echo off 
02.
 
03.
SETLOCAL enabledelayedexpansion 
04.
 
05.
SET quelle=test.txt 
06.
SET ziel=ausgabe.txt 
07.
 
08.
 
09.
FOR /f "delims=" %%i IN ('FINDSTR . %quelle%') DO ( 
10.
SET ganze_zeile=%%i 
11.
 
12.
SET ganze_zeile=!ganze_zeile:# DE0000000000000000000000000000001 Standort1 Name=# DE0000000000000000000000000000001 DE0000000000000000000000000000001 1-1:1.9.1 Standort1 Name! 
13.
 
14.
SET ganze_zeile=!ganze_zeile:# DE0000000000000000000000000000002 Standort2 (Name)=# DE0000000000000000000000000000002 DE0000000000000000000000000000002 1-1:1.9.1 Standort2 Name! 
15.
 
16.
 
17.
ECHO !ganze_zeile! 
18.
ECHO !ganze_zeile! >> %ziel% 
19.
)
(Text rausgenommen von mir. War aufgrund von nicht Wissen etwas böse)
Sie funktioniert ... eigentlich... Zumindest so lange bis ich eine Zeile einfüge, die eine Klammer aufweist..

Kann es an der Klammer liegen?
Wenn ja, habt ihr einen Lösungsvorschlag oder einen Tip wie ich das anders schreiben kann?
Wenn nein, dann hab ich glaube ich ein Problem, weil sonst ist nichts anders an den Zeilen.


Vielen Dank schonmal für eine Antwort oder einen Tipp!!!


MfG
Flo
Mitglied: 60730
21.03.2011, aktualisiert 18.10.2012
Moin,

startet die Batch-Datei nur ganz kurz und schließt sich direkt wieder ohne dass ich etwas erkennen kann und die Ausgabe Datei wird nicht erstellt.
ist ja beim führenden echo off kein Kunststück..

einen Profi ist sie bestimmt nicht schön, aber sie funktioniert face-smile... eigentlich...
Da das ein leicht umgestrickter Bastla ist - ist die Zeile aber wirklich böse....

btw: Weißt du eigentlich, was du da machst?
  • Zuerst setzt du eine Variable mit einem INhalt und den änderst du und der geänderte Inhalt soll nochmal geändert werden

Klick meine blauen Buchstaben an und liess dir die Infos durch....

Gruß
Bitte warten ..
Mitglied: FlorianHH
21.03.2011, aktualisiert 18.10.2012
Hey,

Danke erstmal für die Antwort!

ist ja beim führenden echo off kein Kunststück..

Okay wusste ich nicht (neuling :S)... Danke schonmal für den Tipp!

Da das ein leicht umgestrickter Bastla ist -
ist die Zeile aber wirklich böse....

Echt? Das tut mir Leid!!! Hab die letzte Woche irgendwo im Netz gefunden, aber es war definitiv nicht hier

btw: Weißt du eigentlich, was du da machst?
  • Zuerst setzt du eine Variable mit einem INhalt und den änderst du und der geänderte Inhalt soll nochmal geändert
werden

Nein nicht sicher... wie gesagt gefunden und bisschen dran rumgebastelt... Sie funtkionierte und ich war erstmal glücklich... :/


Gruß
Flo
Bitte warten ..
Mitglied: bastla
21.03.2011 um 12:53 Uhr
@T-Mo
Da das ein leicht umgestrickter Bastla ist
Na hoffentlich nicht wirklich ...

@FlorianHH
Versuch es so:
SET "ganze_zeile=!ganze_zeile:# DE0000000000000000000000000000002 Standort2 (Name)=# DE0000000000000000000000000000002 DE0000000000000000000000000000002 1-1:1.9.1 Standort2 Name!" 
Grüße
bastla
Bitte warten ..
Mitglied: FlorianHH
21.03.2011 um 13:12 Uhr
Hey bastla,

Danke funktioniert einwandfrei !!!

Gruß
Flo
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Bestimmte Zeile einer Textdatei mit Batch auslesen

gelöst Frage von PinkFLuffyUnicornBatch & Shell2 Kommentare

Hi, ich habe ein kleines Batch Script, welches mir den Status der Firewall ausgeben soll(ob an oder aus) der ...

Batch & Shell

Bestimmte CMD Zeile aus Batch auslesen

gelöst Frage von BatchAnfaenger91Batch & Shell5 Kommentare

Hallo ihr Lieben, habe seit dem neusten Batch Sprache kennengelernt und bin dabei ein Batch Skript zu schreiben ich ...

Batch & Shell

Zeile eine Datei per batch ersetzen

Frage von duckknightBatch & Shell2 Kommentare

Hallo die Damen und Herren, ich bin nun bei allen Suchanfragen immer wieder hier gelandet, habe aber das was ...

Batch & Shell

Batch Zeile für Zeile auslesen und jede Zeile eine bestimmte Variable zuweisen

gelöst Frage von CerauxBatch & Shell4 Kommentare

Hallo, ich habe schon überall gesucht und noch nichts gefunden wie man Zeilen bestimme Variablen zuweist. Zum Beispiel: file.txt: ...

Neue Wissensbeiträge
Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 6 MinutenAdministrator.de Feedback2 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 17 StundenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 1 TagSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...