我有一个名为CompanyName-SomeAlphaNumString.log的文件目录
我想得到一个目录清单:
SomeAlhpaNumString LastWriteTime
我怀疑在Select-Object过滤器中需要一个自定义属性:
gci *.log | select @{n="Name"; e={$_ <What goes here?> }}, LastWriteTime
我是否需要将正则表达式合并到自定义属性中,还是有其他方法可以执行此操作? 谢谢你的任何想法......
答案 0 :(得分:0)
你可以尝试
gci *.txt | select @{n="Name"; e={if ($_.Name -match "CompanyName-(\w+)") {
$matches[1] }}}, LastWriteTime
,其中
$_.Name -match "CompanyName-(\w+)")
选择CompanyName后跟hypen以及将单词放入反向引用的单词
$matches[1]
选择放入反向引用1的匹配
或者,您可以通过将-match的结果传递给Out-Null
来删除if子句gci *.txt | select @{n="Name"; e={$_.Name -match "CompanyName-(\w+)" | Out-Null; {
$matches[1] }}, LastWriteTime