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

Text auslesen mit Zeichen im Ihnalt

Frage Entwicklung Batch & Shell

Mitglied: SDohle

SDohle (Level 1) - Jetzt verbinden

20.09.2012 um 16:46 Uhr, 2285 Aufrufe, 3 Kommentare

ich bekomme Probleme mit dem Sonderzeichen >

Ich möchte per Batch eine Log-Datei auslesen.

Stellt auch kein Problem dar, bis ich an eine Zeile mit dem Inhalt:
ftp> put..... komme

wie bekomme ich diese Zeile als vollständigen Text eingelesen und weiter verarbeitet?

Befehlszeile die ich verarbeiten möchte

echo "%zeile%" >> "c:\log\test.txt"


zeile = ftp> put dateiname

gechrieben wird in die test.txt:
ftp (mehr nicht!!)


die Anführungszeichen haben nichts gebracht.
ein "ausschneiden" des Zeichens würde ich auch akzeptieren


Vielen Dank für Hilfsangebote
Mitglied: Biber
20.09.2012, aktualisiert um 18:18 Uhr
Moin SDohle,

um Zeichen, die eine spezielle Bedeutung in der Batch/CMD-Syntax haben (Bsp: ">", "|", "&" etc) als "bedeutungslose Zeichen" zu behandeln, müssen sie mit einem Caret ("^") maskiert werden.

Beispiel/Demo am CMD-Prompt folgt.
Ich habe deine ersten paar Beitragszeilen in eine Textdatei namens d:\temp\testlog.log kopiert.

Um den Text per CMD einzulesen und wieder auszugeben müsste eine CMD-Zeile mit aktivierter "verzögerter Variablenauflösung"/DelayedExpansion laufen, deshalb zur Demo ggf mit
CMD /V:on /k

..eine CMD-Instanz mit dieser Einstellung starten.

 
D:\temp>for /f "delims=" %i in (d:\temp\testlog.log) do @(set "Zeile=%i" & set "zeile=!zeile:^>=^^^>!" & echo !zeile!>con:) 
ich bekomme Probleme mit dem Sonderzeichen > 
Ich m÷chte per Batch eine Log-Datei auslesen. 
Stellt auch kein Problem dar, bis ich an eine Zeile mit dem Inhalt: 
ftp> put..... komme 
wie bekomme ich diese Zeile als vollstΣndigen Text eingelesen und weiter verarbeitet?
In einem Batch dann (ungetestet) in etwa so:
01.
@echo off & setlocal enableDelayedExpansion 
02.
 
03.
for /f "delims=" %i in (d:\temp\testlog.log) do ( 
04.
   set "Zeile=%%i"  
05.
   Set "zeile=!zeile:^>=^^^>!"  
06.
   echo !zeile!>c:\log\text.txt 
07.
)
( ...wenn du ALLE Zeilen haben wolltest, was ich nicht denke)

Grüße
Biber
Bitte warten ..
Mitglied: bastla
20.09.2012 um 18:32 Uhr
... oder alternativ (und sogar getestet ):
01.
@echo off & setlocal 
02.
set "Ein=testlog.log" 
03.
set "Aus=text.txt" 
04.
 
05.
del "%Aus%" 2>nul 
06.
for /f "usebackq delims=" %%i in ("%Ein%") do ( 
07.
   set "Zeile=%%i"  
08.
   setlocal enableDelayedExpansion 
09.
   echo !Zeile! 
10.
   endlocal 
11.
)>>"%Aus%"
Leerzeilen bleiben allerdings auch bei dieser Variante auf der Strecke (was sich im Bedarfsfall noch vermeiden ließe) ...

Grüße
bastla
Bitte warten ..
Mitglied: SDohle
21.09.2012 um 07:42 Uhr
Hallo Bastla

hat super funktioniert,
konnte mein Script durch deine Hilfe zum Laufen bekommen..

HERZLICHEN DANK
Bitte warten ..
Ähnliche Inhalte
VB for Applications
gelöst VBA Text mit Format übertragen und Zeichen ergänzen (11)

Frage von Dau12345 zum Thema VB for Applications ...

Voice over IP
Freeswitch Sammelrufnummer besetzt zeichen (1)

Frage von frephisten zum Thema Voice over IP ...

Datenbanken
MS SQL - Update Text Feld mit Steuerzeichen (4)

Frage von emeriks zum Thema Datenbanken ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
SAN, NAS, DAS
MSA 2050 RAID Konfig (27)

Frage von Leo-le zum Thema SAN, NAS, DAS ...

Microsoft Office
Office Druck fehler (14)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Festplatten, SSD, Raid
Uninitialisierte Festplatte - Daten retten (11)

Frage von peterla zum Thema Festplatten, SSD, Raid ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...