2016-05-06 2 views
3

Mit dieser Batch-Datei, ich ein Leerzeichen in jeder Zeile in der Ausgabe txt-Datei zu erhalten:Echo schreibt Leerzeichen am Ende in Batch-Datei

@echo off 
setlocal enabledelayedexpansion 

for /f "delims==" %%A in (trimlist.txt) do set string=%%A & echo !string:,=.!>>trimlist-new.txt 

Wie gehe ich über die Leerzeichen zu entfernen? Ich möchte vermeiden, eine neue Batch-Datei zu erstellen, wenn möglich.

+0

@Dodekeract Batch-Dateien [Legacy-Technologie auf Windows] waren (https://en.wikipedia.org/wiki/Windows_PowerShell) seit 2006 - * 10 Jahre und vier oder fünf große Windows-Versionen vor *. Es ist nicht überraschend, dass PowerShell mehr Optionen für die String-Verarbeitung bietet, z. 'gc trimlist.txt |% {($ _ -split '=') [0] -replace '3', '.' } >> trimlist-new.txt' - oder verschiedene andere Möglichkeiten, es zu schreiben. – TessellatingHeckler

Antwort

3

Der Abstand zwischen %%A und = wird in Ihre Zeichenfolge eingeschlossen. Um dies zu vermeiden, können Sie entweder eine mehrzeilige for-Schleife verwenden oder einfach die set-Anweisung in Anführungszeichen setzen.

@echo off 
setlocal enabledelayedexpansion 

for /f "delims==" %%A in (trimlist.txt) do set "string=%%A" & echo !string:,=.!>>trimlist-new.txt 
Verwandte Themen