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

Ausgabe einer Variablen die das UND-Zeichen enthält mittels echo-Befehl

Frage Entwicklung Batch & Shell

Mitglied: alfabravo

alfabravo (Level 1) - Jetzt verbinden

10.12.2010 um 13:39 Uhr, 3845 Aufrufe, 2 Kommentare

Hallo Forum!

Ich habe ein Problem mit dem nachfolgenden Skript.

Ich möchte eine Textdatei (Datei.txt) splitten:

Steht in Datei.txt am Anfang der Zeile die "1" wird der Satz in Datei1.txt geschrieben.
Steht in Datei.txt am Anfang der Zeile die "2" wird der Satz in Datei2.txt geschrieben.

Das Problem ist, dass der Inhalt in Datei.txt auch vereinzelt das "&"-Zeichen enthält.

Bei Ausgabe der Variablen über echo>> wird das Zeichen ungewollt als Kommando interpretiert.

Gibt es da eine Lösung?

@echo off

FOR /F "usebackq delims=" %%L in ("C:\Datei.txt") do call :ProcessLine "%%L"

:ProcessLine
set "Line=%~1"
set "erstesZeichen=%Line:~0,1%"

IF %erstesZeichen% == 1 echo>> "C:\Datei1.txt" %Line%
IF %erstesZeichen% == 2 echo>> "C:\Datei2.txt" %Line%

goto :eof
Mitglied: my0name
10.12.2010 um 13:52 Uhr
Probier mal das hier:
@echo off

FOR /F "usebackq delims=" %%L in ("C:\Datei.txt") do call :ProcessLine "%%L"

:ProcessLine
set "Line=%~1"
set "erstesZeichen=%Line:~0,1%"

set "Line=%Line:&=^&%"

IF %erstesZeichen% == 1 echo>> "C:\Datei1.txt" %Line%
IF %erstesZeichen% == 2 echo>> "C:\Datei2.txt" %Line%

goto :eof

Hab es mal hiermit erweitert:
set "Line=%Line:&=^&%"

Damit wird & in der Variablen %Line% gesucht und durch ^& ersetzt, was im Prinzip escape bedeutet
Bitte warten ..
Mitglied: alfabravo
10.12.2010 um 14:06 Uhr
Super, hat einwandfrei funktioniert. Vielen Dank für die schnelle Hilfe !!
Bitte warten ..
Neuester Wissensbeitrag
Windows Update

Windows Update-Suche nach Win7 Neuinstallation wieder schneller

(1)

Erfahrungsbericht von the-buccaneer zum Thema Windows Update ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch (Win7): Kombinierte Ausgabe mit echo? (1)

Frage von Ben.Blake.79 zum Thema Batch & Shell ...

LAN, WAN, Wireless
Fritzbox Landingpage - haben Nutzungsbedingungen ein Limit von 200 Zeichen? (7)

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

Heiß diskutierte Inhalte
Exchange Server
Bestehende eMails autoamatisch weiterleiten (21)

Frage von metal-shot zum Thema Exchange Server ...

Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (21)

Frage von Winuser zum Thema Hyper-V ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (16)

Frage von ProfessorZ zum Thema Router & Routing ...