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

Suchen und ersetzten in Batch datei

Frage Entwicklung Batch & Shell

Mitglied: bacardischmal

bacardischmal (Level 1) - Jetzt verbinden

13.11.2012, aktualisiert 09:09 Uhr, 1498 Aufrufe, 2 Kommentare

Hallo,

ich habe hier eine kleine Batch Datei in der unter anderem dieser Teil steckt. Dort werden die Zahlen aus einer CSV-Datei in eine andere Formatierung gebracht und eine TXT datei angelegt. Nun ist das Problem das unter %%w ab und zu anstelle von Zahlen --- vorhanden sind, kann ich irgendwie beim durchlaufen aus den --- einfach ein leerzeichen machen? Kann ich das mit in die For schleife bauen oder muss ich dafür eine neue machen?

mfg bacardi


[code]
@ECHO off
SETLOCAL enabledelayedexpansion

SET "quell_datei="G:\Import.csv""
SET "ziel_datei="d:\ziel.txt""
SET "log_datei="d:\script\log.txt"

SET "N=0"



if %N% GTR 0 set SKIP="SKIP=%N%" else set SKIP=

REM Loeschen der Ausgabedatei, falls sie (noch) existiert
IF EXIST %ziel_datei% (DEL /f %ziel_datei% 1>NUL 2>NUL)

REM Quell-Datei zeilenweise auslesen
REM und in Variable "zeile" schreiben
FOR /f "usebackq %SKIP% tokens=1-5 delims=; " %%s in (%quell_datei%) DO (
SET zeile=%%s %%t %%w &CALL :schreiben
)
GOTO :weiter


:schreiben
REM Inhalt der Variable "zeile" in die Ausgabedatei schreiben
IF [!zeile!] EQU [] (ECHO.>>%ziel_datei%) ELSE (ECHO !zeile!>>%ziel_datei%)
GOTO :eof


:weiter
[/code]

Mitglied: bastla
13.11.2012, aktualisiert um 09:28 Uhr
Hallo bacardischmal!

Da Du ohnehin "delayedExpansion" verwendest, brauchst Du eigentlich kein Unterprogramm - es sollte daher (ungetestet) auch so gehen:
01.
ECHO off 
02.
SETLOCAL enabledelayedexpansion 
03.
 
04.
SET quell_datei="G:\Import.csv" 
05.
SET ziel_datei="d:\ziel.txt" 
06.
SET log_datei="d:\script\log.txt" 
07.
 
08.
SET /a N=0 
09.
 
10.
########################################################################################################### 
11.
 
12.
if %N% GTR 0 set SKIP="SKIP=%N%" else set "SKIP=" 
13.
 
14.
REM Loeschen der Ausgabedatei, falls sie (noch) existiert 
15.
IF EXIST %ziel_datei% (DEL /f %ziel_datei% 1>NUL 2>NUL) 
16.
 
17.
REM Quell-Datei zeilenweise auslesen 
18.
REM und in Variable "zeile" schreiben 
19.
FOR /f "usebackq %SKIP% tokens=1-5 delims=; " %%s in (%quell_datei%) DO ( 
20.
    SET zeile=%%s %%t %%w 
21.
    IF "%%w"=="---" SET zeile=%%s %%t 
22.
    REM Inhalt der Variable "zeile" in die Ausgabedatei schreiben 
23.
    IF [!zeile!] EQU [] (ECHO.>>%ziel_datei%) ELSE (ECHO !zeile!>>%ziel_datei%) 
24.
)
Grüße
bastla

P.S.: Für Die "Code"-Formatierung bitte anstelle von "[code]" hier "<code>" verwenden ...
Bitte warten ..
Mitglied: bacardischmal
13.11.2012 um 18:11 Uhr
Hallo,
danke funktioniert

gruß
bacardi
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateien aus CSV mit Batch suchen
Beitrag von 5 Kommentare

Frage von joes1609 zum Thema Batch & Shell

Batch & Shell
Suche Batch-Programm zum Zusammenfügen zweier PDF-Dateien
Beitrag von 3 Kommentare

Frage von Sinzal zum Thema Batch & Shell

Batch & Shell
Mit Batch Datei bestimmten bereich in WindowsBackup Log Datei suchen und heraus kopieren
Beitrag von 8 Kommentare

Frage von cmdNutzer zum Thema Batch & Shell

Batch & Shell
Dateien mit Liste suchen
Beitrag von 16 Kommentare

Frage von 132351 zum Thema Batch & Shell

Neue Wissensbeiträge
Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Beitrag von 2 Kommentare

Information von admtech zum Thema Administrator.de Feedback

Vmware

VMware Desktopprodukte sind verwundbar

Beitrag von

Information von Penny.Cilin zum Thema Vmware

Datenschutz

Session-Replay: Viele beliebte Webseiten zeichnen jegliche Texteingabe auf

Beitrag von 2 Kommentare

Information von Penny.Cilin zum Thema Datenschutz

Sicherheit

Zufällige Speicherzuweisung: Windows-Bug hebelt Sicherheitsmechanismus ASLR aus

Beitrag von 1 Kommentar

Information von Penny.Cilin zum Thema Sicherheit

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Beitrag von 24 Kommentare

Frage von ahstax zum Thema Visual Studio

Windows Netzwerk
Netzwerk Neustrukturierung
Beitrag von 16 Kommentare

Frage von IT-Dreamer zum Thema Windows Netzwerk

Windows Server
RDP macht Server schneller???
Beitrag von 16 Kommentare

Frage von JaniDJ zum Thema Windows Server

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Beitrag von 15 Kommentare

Frage von Akcent zum Thema Windows 10