[英]Batch File Replace text in text file but keep first word/column
好了朋友们。 我是新手。 搜索了一个答案,但找不到答案。 我的txt文件
CUMBS02778607 DVD/SLS34142072,Z5
CUMBS02778844 SHIP/25/02/14/HR/15,Z5
CUMBS02780058 DVD/SLS34142200,ISSUE 9,Z5
CUMBS02779867 SHIP/27/02/14/CAM/49,Z5
CUMBS02779883 SHIP/27/02/14/CAM/48,Z5
CUMBS02779816 SHIP/27/02/14/CAM/36,Z7
CUMBS02779948 SHIP/27/02/14/CAM/46,Z5
CUMBS02780309 DVD/SLS34142262,Z5
CUMBS02780218 DVD/SLS34142231,Z5
CUMBS02780406 DVD/SLS34142266-267,Z5
CUMBS02779956 SHIP/27/02/14/CAM/50,Z5
CUMBS02779743 DVD/SLS34142181-182,Z5
CUMBS02779611 SHIP/27/02/14/PRO/02,Z4
CUMBS02780155 DVD/SLS34142191-193,Z5
CUMBS02777848 ORD.7737623,REF.62664,SLS34141962,Z7
包含以下行:
CUMBS02778607 DVD/SLS34142072,Z5
我的脚本批量运行如下。 搜索... SLS并将其替换为仅SLS
@echo off &setlocal
set "search=*SLS"
set "replace=SLS"
set "textfile=new.txt"
set "newfile=output.txt"
(for /f "delims=" %%i in ('findstr /n "^" "%textfile%"') do (
set "line=%%i"
setlocal enabledelayedexpansion
set "line=!line:%search%=%replace%!"
echo(!line!
endlocal
))>"%newfile%"
type "%newfile%"
问题是文件返回并丢掉了CUMBS ********号。 我需要保留该变量并将其放回字符串的开头。 这将删除字符SLS之前的所有垃圾。 线家伙任何帮助,将不胜感激。
返回的文本示例。 之后的行开始于2:,5:等,而不以CUMB ******开始,我将删除。
SLS34142072,Z5
2:CUMBS02778844 SHIP/25/02/14/HR/15,Z5
SLS34142200,ISSUE 9,Z5
4:CUMBS02779867 SHIP/27/02/14/CAM/49,Z5
5:CUMBS02779883 SHIP/27/02/14/CAM/48,Z5
6:CUMBS02779816 SHIP/27/02/14/CAM/36,Z7
7:CUMBS02779948 SHIP/27/02/14/CAM/46,Z5
SLS34142262,Z5
SLS34142231,Z5
SLS34142266-267,Z5
11:CUMBS02779956 SHIP/27/02/14/CAM/50,Z5
SLS34142181-182,Z5
13:CUMBS02779611 SHIP/27/02/14/PRO/02,Z4
SLS34142191-193,Z5
SLS34141962,Z7
@echo off &setlocal
set "search=*SLS"
set "replace=SLS"
set "textfile=new.txt"
set "newfile=output.txt"
(for /f "usebackq tokens=1,*" %%a in ("%textfile%") do (
set "line=%%b"
setlocal enabledelayedexpansion
set "line=!line:%search%=%replace%!"
echo(%%a !line!
endlocal
))>"%newfile%"
type "%newfile%"
您几乎完成了。
使用*SLS
要求从行首到SLS删除,因此它将删除CUMBS*
字段。 而是在选项卡上拆分输入记录,保留第一个字段,仅在第二个字段上进行替换。
编号来自findstr /n
不需要,将其删除
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.