Zeilenumbruch/Sonderzeichen in Zeichenfolge in Datei einfügen

Zeilenumbruch/Sonderzeichen in Zeichenfolge in Datei einfügen

Ich habe eine USER.TXT-Datei. Die Datei enthält den folgenden Text:

123,234,987,877,356

Ich suche nach einem Skript, um Text in derselben Datei wie folgt zu ändern:

123
234
987
877
356

Helfen Sie mir bitte, eine Textdatei zu bearbeiten, ohne die Ausgabe in eine neue Datei umzuleiten.

Bisher habe ich:

@echo off 
setlocal enableextensions disabledelayedexpansion

set "search=%,"
set "replace=%%"

set "textFile=USERS.txt"

for /f "delims=" %%i in ('type "%textFile%" ^& break ^> "%textFile%" ') do (
    set "line=%%i"
    setlocal enabledelayedexpansion
    >>"%textFile%" echo(!line:%search%=%replace%!
    endlocal
)

Vielen Dank, ich bin für jede Hilfe dankbar!!!

Antwort1

Batch-Skript zum Ersetzen von Kommas durchCRLF

Wenn Ihnen diese Menge reicht, probieren Sie es aus, denn es scheint einfach zu sein und funktioniert einfach …

Das folgende Batch-Skript führt im Wesentlichen Folgendes aus:

  • VerwendenInhalte abrufenUndErsetzenfür die zu suchende ( ,) und zu ersetzende Zeichenfolge ( CRLF)
  • Dann wird es verwendenSet-Inhalteum den neu ersetzten String wieder entsprechend in die Datei einzufügen

Notiz: Der set textFile=Wert sollte entweder der vollständige, explizite Pfad zur Textdatei sein, in die Sie die Kommas ändern CRLF(z. B. C\Folder\Path\USERS.txt), oder, wenn sich dieses Skript im selben Ordner wie die Datei befindet, sollte dem Wert das Präfix (z. B. ) set textFile=vorangestellt werden.%~dp0%~dp0USERS.txt

@echo on

set search=,
set textFile=C:\Folder\Path\USERS.txt
::set textFile=%~dp0USERS.txt

:PowerShell
SET PSScript=%temp%\~tmpStrRplc.ps1
ECHO (Get-Content "%textFile%").replace("%search%", "`r`n") ^| Set-Content "%textFile%">"%PSScript%"

SET PowerShellDir=C:\Windows\System32\WindowsPowerShell\v1.0
CD /D "%PowerShellDir%"
Powershell -ExecutionPolicy Bypass -Command "& '%PSScript%'"
EXIT

Ursprünglicher Dateiinhalt

123,234,987,877,356

Inhalt der Ergebnisdatei

123
234
987
877
356

Weitere Ressourcen

verwandte Informationen