2016-10-05 1 views
0

Ich habe eine for-Schleife, die die Ergebnisse in eine Textdatei druckt. Was ich tun möchte, ist eine neue Zeile für jedes Element (Elemente sind durch Leerzeichen getrennt).Batch, um neue Zeile nach jedem Leerzeichen in FOR-Schleife

Die ursprüngliche colors.txt Datei sieht wie folgt aus:

red 
blue yellow 
cyan 
pink orange 
azure 

gewünschte Ausgabe von newcolors.txt:

red 
blue  
yellow 
cyan 
pink  
orange 
azure 

Meine aktuellen Code ist hier:

FOR /F "tokens=1 delims= " %%a in (C:\colors.txt) DO call echo %%a >> C:\newcolors.txt 

Mein aktueller (und falsche) Ausgabe ist unter, überspringt die Farben, die Leerzeichen getrennt sind:

red 
blue 
cyan 
pink 
azure 

Jede Hilfe wird geschätzt.

+0

Sie müssen einige konkrete Beispiele dafür angeben, wie Ihre Eingabe aussieht und was Sie für die Ausgabe benötigen. – Squashman

+0

Entschuldigung. Ich habe es aktualisiert. – chew224

+0

Wie viele Artikel können in einer Zeile stehen? – Squashman

Antwort

2

Basierend auf Ihren Beispielen sollte dies für Sie arbeiten.

@echo off 
FOR /F "delims=" %%G in (C:\colors.txt) DO (
    FOR %%H IN (%%G) DO ECHO %%H>>C:\newcolors.txt 
) 
+0

'@echo aus >" C: \ newcolors.txt "( FOR/F" delims = "%% G in (C: \ Farben.txt) DO ( FOR %% H IN (%% G) DO ECHO %% H ) ) 'so wird die Datei nur einmal geöffnet und geschlossen – elzooilogico

Verwandte Themen