我有 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
如果这对于您来说足够了,那就尝试一下吧,因为它看起来很简单并且可以工作……
下面的批处理脚本基本上是:
笔记: 该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