Вставить разрыв строки/специальный символ в строку в файле

Вставить разрыв строки/специальный символ в строку в файле

У меня есть файл USER.TXT. Файл содержит текст:

123,234,987,877,356

Я ищу скрипт для изменения текста в том же файле на:

123
234
987
877
356

Пожалуйста, помогите мне отредактировать текстовый файл, не перенаправляя вывод в новый файл.

На данный момент у меня есть:

@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
)

Спасибо вам большое за помощь!!!

решение1

Пакетный скрипт для замены запятой наCRLF

Если этого вам достаточно, попробуйте, это кажется простым и работает...

Пакетный скрипт ниже по сути выполняет следующие действия:

  • ИспользоватьПолучить-КонтентиЗаменятьдля строки для поиска ( ,) и замены ( CRLF)
  • Затем он будет использоватьНабор-Контентчтобы поместить вновь замененную строку обратно в файл соответствующим образом

Примечание: Значение set textFile=должно быть либо полным явным путем к текстовому файлу, на который вы измените запятые CRLF(например, C\Folder\Path\USERS.txt), либо, если этот скрипт находится в той же папке, что и этот файл, значение set textFile=должно иметь префикс %~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

Исходное содержимое файла

123,234,987,877,356

Содержимое файла результата

123
234
987
877
356

Дополнительные ресурсы

Связанный контент