用PS脚本 抛砖引玉 期待大神- $file1 = '1.wcs'; #修改前的文件
- $file2 = '2.wcs'; #修改后的文件
- (Get-Content $file1) | ForEach-Object {
- $_.replace('FORX *', 'FORX* ').replace('[ ', '[').replace(' ]', ']')
- } | Set-Content $file2
- (Get-Content $file2) | ForEach-Object {
- $_.replace('| EXEC', '|EXEC').replace(', EXEC', ',EXEC').replace('| EXIT', '|EXIT').replace(', EXIT', ',EXIT').replace('| CALL', '|CALL') #写的蹩脚 能写成变量循环执行吗
- } | Set-Content $file2
复制代码
1.wcs- TEAM set a=1 | set b=2
- FIND [ %a%=1 | %b%=2 ], mess 1
- FORX * 1 2 3, i, TEAM set X=%i% | ENVI Y=%i%
- LABE ,L160T267W88H15,注册注销Dll
复制代码
希望得到 注意第4条这种不用替换- TEAM set a=1|set b=2
- FIND [%a%=1 | %b%=2],mess 1
- FORX* 1 2 3,i,TEAM set X=%i%|ENVI Y=%i%
- LABE ,L160T267W88H15,注册注销Dll
复制代码
作者: flashercs 时间: 2022-5-4 07:21
- (Get-Content $file1 -ReadCount 0)-replace'FORX +\*','FORX*'-replace' *([\[\]|,]) *','$1'|Set-Content $file2
复制代码
作者: smss 时间: 2022-5-4 09:13
本帖最后由 smss 于 2022-5-4 10:47 编辑
回复 2# flashercs
"[ "空格是之后不是之前
[]中的|要过滤 能改改吗
作者: flashercs 时间: 2022-5-4 16:50
- -replace'FORX +\*','FORX*'-replace'\[ +','['-replace' +\]',']'-replace'(\[[^]]*\])| +(?=\|)|(?<=\|) +','$1'-replace', +',','
复制代码
作者: smss 时间: 2022-5-4 23:21
回复 4# flashercs 变量中含有, 不修改
ENVI Z=CO., LTD
set X=CO., LTD1
FIND %a%=1, mess 1 ! mess 2改为FIND %a%=1, mess 1!mess 2
虽然加了-replace'! +','!'-replace' !','!'对PS不熟担心出错 还请教老师
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |