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

Dateiinhalte in Textdateien tauschen

Frage Entwicklung Batch & Shell

Mitglied: heimwerker

heimwerker (Level 1) - Jetzt verbinden

30.01.2011 um 18:04 Uhr, 2063 Aufrufe, 2 Kommentare

Hallo Forum

Ich habe ein Problem bei der Bearbetung von gleichartigen Textdateien.
Das folgende Programm funktioniert, leider nur mit einer einzigen Textdatei:

@echo off & setlocal enabledelayedexpansion
mode 90,60

:Start
cls
echo.
set /P Quelldatei= Dateiname der Quelldatei inkl. Endung:
prompt
if not exist %Quelldatei% @echo Die Quelldatei ist im Programmordner nicht vorhanden. & pause & goto :Start
echo.
set /P Zieldatei= Dateiname der Zieldatei inkl. Endung:
prompt
echo.
set /P SucheNach= Gesuchte Zeichenfolge:
prompt
echo.
set /P ErsetzeDurch= Zeichenfolge ersetzen durch:
prompt
echo.
echo.
for /f "delims=" %%i in ('findstr . "%Quelldatei%"') do (set Zeile=%%i & call :ersetzen !Zeile!)
goto :Ende

:ersetzen
set Zeile=!Zeile:%SucheNach%=%ErsetzeDurch%!
if [!Zeile!] equ [] (echo.>>%Zieldatei%) else (echo !Zeile!>>%Zieldatei%)
goto :eof

:Ende
del %Quelldatei%
ren %Zieldatei% %Quelldatei%
echo.
@echo Datei ist korrigiert.
pause
exit

Nun habe ich aber in einem ganzen Stapel von .asc's oder .csv's Änderungen vorzunehmen.
Gezielt suche ich z. B. nach "," und will es mit " " ersetzen.
Es müßte also jede *.asc abgearbeitet, der Originalname am Dateiende wieder hergestellt und die nächste .asc eingelesen werden.

Wer kann mir helfen, meine Denkblockade zu beseitigen?

Gruß und danke vorerst.
Mitglied: bastla
30.01.2011 um 18:47 Uhr
Hallo heimwerker und willkommen im Forum!

Unter der Annahme, dass die Ersetzung mit Deinem (übrigens nicht als Code formatierten) Batch tatsächlich funktioniert, könnte die Verarbeitung aller Dateien eines anzugebenden Typs (ungetestet )etwa so erfolgen:
01.
@echo off & setlocal enabledelayedexpansion 
02.
mode 90,60 
03.
 
04.
set /P QuelldateiTyp= Dateityp der Quelldatei (zB asc):  
05.
prompt 
06.
if not exist *.%QuelldateiTyp% echo Keine Quelldateien vorhanden. & pause & goto :eof 
07.
set /P SucheNach= Gesuchte Zeichenfolge: 
08.
prompt 
09.
echo. 
10.
set /P ErsetzeDurch= Zeichenfolge ersetzen durch: 
11.
prompt 
12.
echo. 
13.
echo. 
14.
 
15.
set "Zieldatei=%temp%\MitErsetzung.tmp" 
16.
for /f "delims=" %%a in ('dir /b /a-d *.%QuelldateiTyp%') do call :ProcessFile "%%a" 
17.
echo Alle Ersetzungen vorgenommen 
18.
pause 
19.
goto :eof 
20.
 
21.
:ProcessFile 
22.
for /f "delims=" %%i in ('findstr . %1) do (set Zeile=%%i & call :ersetzen !Zeile!) 
23.
move %Zieldatei% %1 
24.
goto :eof 
25.
 
26.
:ersetzen 
27.
set Zeile=!Zeile:%SucheNach%=%ErsetzeDurch%! 
28.
if [!Zeile!] equ [] (echo.>>%Zieldatei%) else (echo !Zeile!>>%Zieldatei%) 
29.
goto :eof
Nur interessehalber: Wozu sollen eigentlich die Zeilen mit "prompt" gut sein?

Grüße
bastla
Bitte warten ..
Mitglied: heimwerker
30.01.2011 um 19:36 Uhr
Danke für die nette Begrüßung, die schnelle Antwort und was soll ich dazu noch sagen, außer:
Den Seinen gibt's der Herr im Schlafe...

In der Zeile 20 mußte ich nur noch hinter %1 ein einfaches ' setzen und schon lief das Programm astrein durch.

Die prompt waren als Eingabeaufforderung gedacht, sind schon entfernt.

Ich bedanke mich nochmals für Deine Hilfe
Gruß
heimwerker
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
In For-Schleife nach Dateiinhalt Filtern
Frage von AndroxinBatch & Shell5 Kommentare

Guten Tag, ich habe ein Shellscript, welches Dateien, die max. 30 Tage alt sind, aus einem definierten Verzeichnis ausliest, ...

Batch & Shell
Dateiinhalte vergleichen - Gemeinsamkeiten anzeigen
gelöst Frage von RotnasenkaterBatch & Shell9 Kommentare

Servus, liebe Gemeinde! Ich suche ein Programm oder ein Batchfile, welches 2 Textdateien miteinander vergleicht und dann anzeigt, welche ...

Microsoft Office
Auswertung eines txt-Dateiinhaltes mit Excel
gelöst Frage von OlliMucMicrosoft Office19 Kommentare

Hallo die Damen und Herren Spezialisten, ich hoffe heute zum 3. Mal auf Eure geschätzte Hilfe Die gegebnene Fakten: ...

Windows 10
Verzeichnis nach Dateiinhalt durchsuchen
Frage von MPFGWindows 105 Kommentare

Hallo, ich suche eine Möglichkeit alle Dateien eines Verzeichnisses samt Unterordner nach einen Wort zu durchsuchen. Der Windows Explorer ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 19 StundenBatch & Shell8 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 21 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Sichere Remote Desktop Verbindung wie?
gelöst Frage von nuss33Windows Server11 Kommentare

Hallo zusammen, eins vorweg: Ich besitze einen privaten Windows Server 2008 R2 zu Hause im Netzwerk er wird nicht ...