【发布时间】:2014-02-11 19:00:39
【问题描述】:
编辑:
这似乎有效。希望它可以帮助某人:
Get-ChildItem C:\Users\$env:username\Desktop\RD |
Where-Object {$_.Name -match "^[^8]*141.txt"} |
Foreach-Object {$_
Get-Content -Path C:\Users\$env:username\Desktop\RD\$_ |
Out-File C:\Users\$env:username\Desktop\RD\141Master.txt
}
我正在尝试为更明确的附加过程制定过滤文件名。所以我可以这样做:
Get-Content C:\erik\*.txt | Out-File C:\erik\whatever.txt
所有的文本文件都附加了。然后我可以这样做:
Get-Content C:\erik\*101.txt | Out-File C:\erik\whatever.txt
所有带有 101 的文件都追加。但是当我尝试这样的事情时:
Get-Content C:\erik\^[^8]*141.txt | Out-File C:\erik\whatever.txt
我明白了:
Get-Content : 指定路径的对象 C:\Users\edarling\Desktop\RD\^[^8]*141.txt 不存在,或已被 由 -Include 或 -Exclude 参数过滤。在行:1 字符:1 + 获取内容 C:\Users\edarling\Desktop\RD\^[^8]*141.txt |输出文件 C:\Users\edarl ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ + CategoryInfo : ObjectNotFound: (System.String[]:String[]) [Get-Content], 异常 + FullyQualifiedErrorId : ItemNotFound,Microsoft.PowerShell.Commands.GetContentCommand
我一直在尝试通过管道将 Get-ChildItem 传递给 Get-Content,但无法完全弄清楚。有什么建议吗?
谢谢
【问题讨论】:
-
^[^8]*这是正则表达式? -
如果您自己找到了问题的解决方案,那么发布并接受您自己问题的答案是完全可以接受的。不过,请不要用答案更新您的问题,因为无法接受问题,这意味着没有迹象表明问题已实际解决。
-
我试图回复和回答,但我没有代表点来做这件事。我收到一条消息说要编辑我的问题。感谢您的意见。
-
您需要至少 50 名声望才能评论他人的问题或答案,但您可以从一开始就发布问题和答案。使用此页面底部的黑色按钮“发布您的答案”。
标签: powershell