解析字符串 |文件名

Parse String | Filename

我得到的文件如下所示:

aaa-xxx-random1.xml
aaa-xxx-random2.xml
aaa-yyy-random3.xml
aaa-zzz-random4.xml
aaa-zzz-random5.xml

如何在 PowerShell 中解析它以获取变量中的第二个八卦?

预期输出:

xxx
xxx
yyy
zzz
zzz

在 shell 中将是:

for f in `ls`; do
  echo $f | cut -d "-" -f 2
done

这样做的目的是创建一个以三元组命名的存档,并将同一家族的所有 XML 文件移动到创建的存档中。

在连字符处拆分文件名并选择结果数组的第二个元素:

Get-ChildItem | ForEach-Object { ($_.Name -split '-')[1] }

或(使用别名)

ls | % {($_.Name -split '-')[1]}