返回列表 发帖

[文本处理] 文本批量替换字符的批处理求助

各位大神好:
有一批文本内容格式如下;RCP格式可以记事本打开;判断文件名是否包含04T字符,不包含04T的文件将C0_E0后面的1,0,0或2,0,0替换为3,0,1
SMD-Product,C:\AV03-2322-1\Data\RecipeFile\ChmRcpData\R0001\AD IMPROVE-AB,1:C+W+M+C,1,1,0.7t,2023/07/24 18:02:37,C2,NotUse,C2,NotUse,LotClean,NotUse,Clean Cycle,NotUse,,C:\AV03-2322-1\Data\RecipeFile\PtnRcpData\S12100_P10_C0_E0,1,0,0,C:\AV03-2322-1\Data\RecipeFile\PtnRcpData\S12100_P02_C0_E0,2,0,0,S3 or S4,,
,,,,,,,,,,,,

回复 2# Batcher

内部局域网限制上传附件;文本全部内容就是下面字符RCP格式可以记事本打开,其中2,0,0也可能是1,0,0

SMD-Product,C:\A-B-1\Data\RecipeFile\ChmRcpData\R0001\AD IMPROVE-AB,1:C+W+M+C,1,1,0.7t,2023/07/24 18:02:37,C2,NotUse,C2,NotUse,LotClean,NotUse,Clean Cycle,NotUse,,C:\A-B-1\Data\RecipeFile\PtnRcpData\S12100_P10_C0_E0,2,0,0,C:\A-B-1\Data\RecipeFile\PtnRcpData\S12100_P02_C0_E0,2,0,0,S3 or S4,,
,,,,,,,,,,,,
变更后是
SMD-Product,C:\A-B-1\Data\RecipeFile\ChmRcpData\R0001\AD IMPROVE-AB,1:C+W+M+C,1,1,0.7t,2023/07/24 18:02:37,C2,NotUse,C2,NotUse,LotClean,NotUse,Clean Cycle,NotUse,,C:\A-B-1\Data\RecipeFile\PtnRcpData\S12100_P10_C0_E0,3,0,1,C:\A-B-1\Data\RecipeFile\PtnRcpData\S12100_P02_C0_E0,3,0,1,S3 or S4,,
,,,,,,,,,,,,

TOP

回复 4# qixiaobin0715

执行结果是这个  ;批处理过程覆盖源文件了

   
C:\Users\admin\Desktop\PI\SP01>(
set "str=SMD-Product,C:\SH03-9322-1\Data\RecipeFile\ChmRcpData\R0001\AD IMPROVE-AB,1:C+W+M+C,1,1,0.7t,2023/07/24 18:02:37,C2,NotUse,C2,NotUse,LotClean,NotUse,Clean Cycle,NotUse,,C:\SH03-9322-1\Data\RecipeFile\PtnRcpData\S12100_P10_C0_E0,1,0,0,C:\SH03-9322-1\Data\RecipeFile\PtnRcpData\S12100_P02_C0_E0,2,0,0,S3 or S4,,"  
set "str=!str:C0_E0,1,0,0=C0_E0,3,0,1!"  
set "str=!str:C0_E0,2,0,0=C0_E0,3,0,1!"  
echo,!str!
)
SMD-Product,C:\SH03-9322-1\Data\RecipeFile\ChmRcpData\R0001\AD IMPROVE-AB,1:C+W+M+C,1,1,0.7t,2023/07/24 18:02:37,C2,NotUse,C2,NotUse,LotClean,NotUse,Clean Cycle,NotUse,,C:\SH03-9322-1\Data\RecipeFile\PtnRcpData\S12100_P10_C0_E0,3,0,1,C:\SH03-9322-1\Data\RecipeFile\PtnRcpData\S12100_P02_C0_E0,3,0,1,S3 or S4,,

C:\Users\admin\Desktop\PI\SP01>(
set "str=,,,,,,,,,,,,"  
set "str=!str:C0_E0,1,0,0=C0_E0,3,0,1!"  
set "str=!str:C0_E0,2,0,0=C0_E0,3,0,1!"  
echo,!str!
)
,,,,,,,,,,,,

TOP

回复 4# qixiaobin0715


    可以用了感谢感谢大神

TOP

回复 8# 77七


    可以可以 感谢!要把3,0,1变回1.0.0或2.0.0怎么写,能不能根据提示输入后执行;文档两个C0_E0后参数根据需求修改;
比如提示输入12 则内容  第一个3.0.1变更为1.0.0,第二个3.0.1变更为2.0.0
比如提示输入11 则内容  第一个3.0.1变更为1.0.0,第二个3.0.1变更为1.0.0
比如提示输入13 则内容  第一个3.0.1变更为1.0.0,第二个3.0.1变更为3.0.1

TOP

本帖最后由 haichuan5121 于 2024-8-14 15:27 编辑

回复 10# qixiaobin0715


       对的我看执行过程把OFF 改成ON了  
感谢!要把3,0,1变回1.0.0或2.0.0怎么写,C0_E0后面只有这三个组合
能不能根据提示输入后执行;文档两个C0_E0后参数根据需求修改;
比如提示输入12 则内容  第一个3.0.1变更为1.0.0,第二个3.0.1变更为2.0.0
比如提示输入11 则内容  第一个3.0.1变更为1.0.0,第二个3.0.1变更为1.0.0
比如提示输入13 则内容  第一个3.0.1变更为1.0.0,第二个3.0.1变更为3.0.1
比如提示输入21 则内容  第一个3.0.1变更为2.0.0,第二个3.0.1变更为1.0.0
比如提示输入22 则内容  第一个3.0.1变更为2.0.0,第二个3.0.1变更为2.0.0
比如提示输入23 则内容  第一个3.0.1变更为1.0.0,第二个3.0.1变更为3.0.1

TOP

回复 13# qixiaobin0715


    链接: https://pan.baidu.com/s/1qRFkQmfK15LHmhN6c7Ub8A?pwd=1122 提取码: 1122 复制这段内容后打开百度网盘手机App,操作更方便哦[url=链接: https://pan.baidu.com/s/1qRFkQmfK15LHmhN6c7Ub8A?pwd=1122 提取码: 1122 复制这段内容后打开百度网盘手机App,操作更方便哦]附件[/url]

附件放网盘了 大神给再研究研究;C0_E0后面只有三种组合1,0,0  ;2,0,0;3,0,1  无论当前是哪个组合需要根据输入设定分别更换第一个CO_E0后面的和第二个C0_E0后面的
例如:我输入 21  结果更新为CO_E0,2,0,0      CO_E0,1,0,0 其余位置不变
:我输入 22  结果更新为CO_E0,2,0,0      CO_E0,2,0,0 其余位置不变
:我输入 23  结果更新为CO_E0,2,0,0      CO_E0,3,0,1其余位置不变

TOP

回复 13# qixiaobin0715
我测试的11 第一组没变化 第二组变成那个特殊符号了  末尾执行结果单独到后面了
SMD-Product,C:\SH03-9322-1\Data\RecipeFile\ChmRcpData\R0001\AD IMPROVE-AB,1:C+W+M+C,1,1,0.7t,2023/07/24 18:02:37,C2,NotUse,C2,NotUse,LotClean,NotUse,Clean Cycle,NotUse,,C:\SH03-9322-1\Data\RecipeFile\PtnRcpData\S12100_P10_C0_E0,2,0,0,C:\SH03-9322-1\Data\RecipeFile\PtnRcpData\S12100_P02_$,S3 or S4,,C0_E0,1,0,0C0_E0,1,0,0
,,,,,,,,,,,,

TOP

回复 19# qixiaobin0715


    可以完美运行,1)测试时候不小心输入了不是两位数的组合里面输入了个位数执行结果里面代码全乱了 2)如果文件里只有一组C0-E0这个数 不执行操作可以不,18楼代码可以的,咱的是按照两位数的后面那个替换了

C:\***\PtnRcpData\S12100_P10_C0_E0,1,0,0,,,C0_E0,2,0,0 ,

TOP

回复 24# qixiaobin0715


    文本验证文本没有更新也没生成新的文本,源文件也没有变化没看出来问题在哪儿

TOP

回复 31# WHY


    新文本更改后缀会不能识别,改成前缀比较好,替换源文件用这个 fso.OpenTextFile(f & ".RCP", 2, True).Write s为甚报错 没有指定Input a Number:22
C:\Users\1111\Desktop\PI\PTN测试新.bat(36, 9) Microsoft JScript 运行时错
误: 'True' 未定义

请按任意键继续. . .

TOP

返回列表