我正在尝试使用Select-String
匹配一个或多个字符例如:Sourcefiles:
a.txt
" rent.com/room.html"
b.txt
" rent.com /"
c.txt
rent.com
输出应:
d:\测试\ A.TXT:1:" rent.com/room.html"
我得到的输出是:
d:\测试\ A.TXT:1:" rent.com/room.html"
d:\测试\ b.txt:1:" rent.com /"
代码:
$pat=@('rent.com/.\*"')
$files=Get-ChildItem "D:\test\*.*" -Recurse
$files |
Select-String -Pattern $pat |
Out-File "D:\output\result.txt"
感谢您的帮助!!
答案 0 :(得分:0)
你的模式有点偏,因为它会得到两者:
您可能希望将其修改为类似
的内容 $pat='rent.com/.+"'
*
表示0或更多,但+
表示1或更多
我不确定你为什么要制作你的模式和阵列,我不确定你为什么要抓取多个文件,而不是他们的内容。您是否正在尝试查看单个文件的内容,如帖子所示?如果是这样,你可能会尝试这样做:
get-content C:\myfile.txt | select-string
或者您是否正在尝试遍历一堆文件并查看其名称?