标题: [问题求助] PowerShell如何防止在管道中未匹配则不输出 [打印本页]
作者: 5i365 时间: 2022-1-27 10:25 标题: PowerShell如何防止在管道中未匹配则不输出
下面的代码, 如果a.txt中没有空行, 或没有行中包含: 或, 则最后不能生成ok.txt, 如何自始至终都生成ok.txt?
另外, 第2行和第3行和第4行能合并写在一起吗?- gc -Encoding UTF8 "C:\Users\Administrator\Desktop\a.txt" |
- ? { $_.trim() -ne "" } | #排除空行
- ? { $_.trim() -notmatch ":" } | #排除包含:的行
- ? { $_.trim() -notmatch "," } | #排除包含,的行
- sc -Encoding UTF8 "C:\Users\Administrator\Desktop\ok.txt"
复制代码
作者: idwma 时间: 2022-1-27 11:28
- (gc a.txt) -notmatch '^\s*$|[:,]'
复制代码
作者: 5i365 时间: 2022-1-27 12:11
本帖最后由 5i365 于 2022-1-27 12:14 编辑
回复 2# idwma
我在前面加了个替换删除空格, 奇怪, 有时能输出, 有时输出不了, 下面这两行代码, 在我的电脑上无法生成ok.txt, 删除替换也不行, 真是怪了, ps5.1
a.lrc
https://send.cm/d/8FoA
(gc "C:\Users\Administrator\Desktop\a.lrc") -replace '\s{1,}' -notmatch '^\s*$|[:,【]' |
sc -Encoding UTF8 "C:\Users\Administrator\Desktop\ok.txt"
作者: 5i365 时间: 2022-1-27 14:01
回复 4# idwma
不好意思, 没有密码, https://send.cm/d/8GS6
作者: idwma 时间: 2022-1-27 14:12
回复 3# 5i365
每一行都有:号当然不显示了
作者: 5i365 时间: 2022-1-27 14:32
回复 5# idwma
明白了, 多谢指点!!!
能让那些匹配先后执行吗? 我原本是想把 [XXXX] 先删掉,然后再执行上面命令的操作
作者: idwma 时间: 2022-1-27 14:54
- (gc "C:\Users\Administrator\Desktop\a.lrc") -replace '\[.*\]' -notmatch '^\s*$|[:,【]' |
- sc -Encoding UTF8 "C:\Users\Administrator\Desktop\ok.txt"
复制代码
作者: 5i365 时间: 2022-1-27 15:11
回复 7# idwma
多谢, 这回稳了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |