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

Anführungszeichen per Batch aus Datei löschen

Frage Entwicklung Batch & Shell

Mitglied: pbelcl

pbelcl (Level 1) - Jetzt verbinden

22.01.2007, aktualisiert 07.02.2007, 17484 Aufrufe, 11 Kommentare

noch nicht ganz klar..

Hallo Leute,

Vorerst mal ein

echo "hallo" >all

denn ich bin neu hier!

Ich habe Eure Beiträge zum entfernen von Anführungszeichen per BATCH in einer Textdate gelesen aber leider habe ich einfach noch keine Lösung zusammengebracht.

Alle beschriebenen Codezeilen haben bei mit nicht funktioniert

Ich habe eine Textdatei die solche Zeilen enthält:

CAB;Speicherkarte\"2a Pocket PC.cabs\Security Check.WM5\Sec_aus.CAB";
CAB;Speicherkarte\"2a Pocket PC.cabs\Ident Eintrag\HTC_Trinity_Ident.cab";
u.s.w

und möchte per BATCH ALLE Anführungszeichen aus der Datei entfernen und dann wieder eine Datei schreiben die so aussieht:

CAB;Speicherkarte\2a Pocket PC.cabs\Security Check.WM5\Sec_aus.CAB;
CAB;Speicherkarte\2a Pocket PC.cabs\Ident Eintrag\HTC_Trinity_Ident.cab;

Hat jemand von Euch eine Idee oder ein paar Beispielcodezeilen für mich??
Mitglied: Biber
22.01.2007 um 18:16 Uhr
Moin pbelcl,

willkommen im Forum.

Eine Variante wäre das zeilenweise Speichern in eine Variable und dem anschliessenden Ersetzen aller Anführungszeichen durch "nichts".
(Oder "nyscht", wie geTuemII schreiben würde....).
Vorgekaspert am CMD-Prompt
01.
(=18:09:18  D:\temp=) 
02.
>type f:\administrator\pbelcl.txt 
03.
CAB;Speicherkarte\"2a Pocket PC.cabs\Security Check.WM5\Sec_aus.CAB"; 
04.
CAB;Speicherkarte\"2a Pocket PC.cabs\Ident Eintrag\HTC_Trinity_Ident.cab"; 
05.
 
06.
(=18:09:19  D:\temp=) 
07.
>for /f "delims=" %i in (f:\administrator\pbelcl.txt) do @set "line=%i" & @echo !line:"=! 
08.
CAB;Speicherkarte\2a Pocket PC.cabs\Security Check.WM5\Sec_aus.CAB; 
09.
CAB;Speicherkarte\2a Pocket PC.cabs\Ident Eintrag\HTC_Trinity_Ident.cab;
Im Batch:
01.
@echo off & setlocal enableDelayedExpansion 
02.
... 
03.
if exist kopieOhneAnfüzeichen.txt del kopieOhneAnfüzeichen.txt 
04.
for /f "delims=" %%i in (originaldatei.txt) do ( 
05.
   set "line=%%i"  
06.
   echo !line:"=!>>kopieOhneAnfüzeichen.txt 
07.
08.
REM ggf ein copy /y kopieOhneAnfüzeichen.txt originaldatei.txt 
09.
...
HTH
Biber
Bitte warten ..
Mitglied: pbelcl
23.01.2007 um 06:29 Uhr
Hallo Biber,

Danke für die schnelle Antwort!
Hab das mal ausprobiert und in meinem Batch steht folgendes:

@echo off & setlocal enableDelayedExpansion

for /f "delims=" %%i in (source.txt) do (
set "line=%%i"
echo !line:"=!>>target.txt
)

Ich sehe im Fenster daß es richtig durchgeführt wird aber es wird keine Date target.txt erzeugt!?
Hab ich was falsch zusammengebaut?
Bitte warten ..
Mitglied: Biber
23.01.2007 um 11:14 Uhr
Moin pbelcl,

nein, war mein Fehler...wieder mal nicht getestet.
Jedenfalls nicht die Umleitung - ich hab es natürlich nur auf dem Bildschirm angeschaut.

In diesem Fall versagt der "Echo ...>>datei" Befehl wegen des Anführungszeichens.

Mach es lieber so:
01.
::---Pbelcl.bat 
02.
@echo off & setlocal enableDelayedExpansion 
03.
 
04.
for /f "delims=" %%i in (source.txt) do ( 
05.
set "line=%%i" 
06.
echo !line:"=! 
07.
)
Und beim Aufruf umleiten.
pbelcl.bat>target.txt

Gruß
Biber
Bitte warten ..
Mitglied: pbelcl
23.01.2007 um 14:09 Uhr
Habs gerade probiert, hat funktioniert!
Hatte eh so eine Ahnung daß die " da ein Problem sind

Mit Deinem Tip ist es mir übrigens gelungen die Anführungszeichen erst gar nicht entstehen zu lassen!
Ich mußte eine Variable die einen Pfad (mit Leerzeichen) enthält über einen call in eine weitere Batchdatei übernehmen. Und damit die Variable komplett ankommt mußte ich sie natürlich unter "" setzen.

Hab diene Codezeilen etwas abgewandelt in die Ursprungsdatei eingebaut und nun klappt es auch ohne den CALL.

Danke für Deine Hilfe. Ist schon toll was man mit BATCH alles machen kann ....
Bitte warten ..
Mitglied: Biber
01.02.2007 um 14:50 Uhr
Beitrag wieder geöffnet auf Antrag von User "thats".

Müsste sich gleich selber äußern...

Biber
Bitte warten ..
Mitglied: thats
01.02.2007 um 16:15 Uhr
hallo an alle,

vielen dank fürs wieder öffnen des threads (:

hab so ein ähnliches problem, dass ich eine textdatei auslese und die anführungszeichen gleich löschen lassen will.

hab das auch scho gleich versucht wie oben beschrieben:

01.
@echo off & setlocal enableDelayedExpansion 
02.
 
03.
batch.bat>kopie.txt 
04.
 
05.
if exist kopie.txt del kopie.txt 
06.
for /f "delims=" %%i in (test.txt) do ( 
07.
   set "line=%%i"  
08.
   echo !line:"=! 
09.
)
bekomm allerdings immer die meldung "Maximale Rekursionstiefe für SETLOCAL erreicht" im Dos-Fenster. das macht er allerdings in einer endlosschleife.

und meine kopie.txt ist leider leer.

danke für die hilfe (:

lg chris
Bitte warten ..
Mitglied: Biber
01.02.2007 um 16:59 Uhr
Moin thats,

Du musst es wie folgt umstellen:

01.
::------Das <b>ist</b> die Datei  Batch.bat---- 
02.
@echo off & setlocal enableDelayedExpansion 
03.
REM brauchst Du nicht ...if exist kopie.txt del kopie.txt 
04.
for /f "delims=" %%i in (test.txt) do ( 
05.
   set "line=%%i"  
06.
   echo !line:"=! 
07.
08.
::-------Ende der Datei Batch.bat
und aufrufen vom CMD-Prompt musst Du die so:
batch.bat>kopie.txt

Oder erstmal zum Testen ohne Umleitung in eine Datei Kopie.txt
batch.bat

HTH
Biber
Bitte warten ..
Mitglied: thats
05.02.2007 um 09:01 Uhr
ha super, so läufts jetzt auch. glaub mein fehler war auch einfach der, dass ich die umleitung in die batch-datei mit rein geschrieben habe und nicht über die konsole aufgerufen habe.

hab jetzt nur mehr ein datumsproblem, dass ich mir die datei raussuchen muss aus dateien:
"Protokolldatei von Betriebstag %tag%.TXT" und hier solls dann die datei mit dem heutigen tag sein.

so funktionierts allerdings nicht:

01.
@echo off & setlocal enableDelayedExpansion 
02.
set tag=%date:~-10,2% 
03.
 
04.
for /f "delims=" %%i in (Protokolldatei von Betriebstag %tag%.TXT) do ( 
05.
   set "line=%%i"  
06.
   echo !line:"=! 
07.
08.
 
09.
 
10.
del Protokolldatei von Betriebstag %tag%.TXT 
11.
ren kopie.txt Protokolldatei von Betriebstag %tag%.TXT 
12.
 
Bitte warten ..
Mitglied: Biber
06.02.2007 um 19:55 Uhr
Moin thats,

nicht hauen jetzt, aber.... nun sind wieder ein paar Anführungszeichen zu wenig drin...

Die Anführungszeichen müssen bei CMD-Anweisungen verwendet werden, wenn einer der Parameter aus mehreren Worten besteht. Also z.B. Dateinamen mit Leerzeichen.

In Deiner Skizze dann also:
01.
@echo off & setlocal enableDelayedExpansion 
02.
set tag=%date:~-10,2% 
03.
REM ......ich hoffe, das stimmt... bei mir kommt da nichts raus, weil %date%-Format bei mir "06.02.2007" ist. 
04.
REM Nächste Zeile: Der Dateiname in Anführungszeichen 
05.
for /f "delims=" %%i in ("Protokolldatei von Betriebstag %tag%.TXT") do ( 
06.
   set "line=%%i"  
07.
   echo !line:"=! 
08.
09.
 
10.
REM NACH DEM TESTEN DAS REM ENTFERNEN ---auch hier: "Dateiname in Anfü-Zeichen" 
11.
REM del "Protokolldatei von Betriebstag %tag%.TXT" 
12.
REM ren kopie.txt "Protokolldatei von Betriebstag %tag%.TXT"
So in etwa...

Gruss Biber
Bitte warten ..
Mitglied: thats
07.02.2007 um 13:04 Uhr
hallo biber,

danke. habs einstweilen so gelöst:

aufruf.bat
01.
if exist kopie.txt del kopie.txt 
02.
 
03.
set tag=%date:~-10,2% 
04.
set pfad="C:\Dokumente und Einstellungen\ibv_stern\Desktop" 
05.
set datei="Protokolldatei von Betriebstag "%tag%".TXT" 
06.
 
07.
copy %pfad%\%datei% %pfad%\kopie1.txt 
08.
 
09.
batch.bat>kopie.txt


batch.bat
01.
@echo off & setlocal enableDelayedExpansion 
02.
 
03.
set tag=%date:~-10,2% 
04.
set pfad="C:\Dokumente und Einstellungen\ibv_stern\Desktop" 
05.
set datei="Protokolldatei von Betriebstag "%tag%".TXT" 
06.
 
07.
for /f "delims=" %%i in (kopie1.txt) do ( 
08.
   set "line=%%i"  
09.
   echo !line:"=! 
10.
11.
 
12.
copy %pfad%\kopie.txt %pfad%\kopie1.txt 
13.
del %datei% 
14.
ren kopie1.txt %datei% 
15.
del kopie.txt
und ich muss sagen, es funktioniert hervorragend beim testen. (:

grüße thats
Bitte warten ..
Mitglied: Biber
07.02.2007 um 13:39 Uhr
Freut mich, thats,

dann schliesse ich den Beitrag hier erstmal wieder.

Gruss
Biber
Bitte warten ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...