解析字符串| 文件名

Wil*_*ill 0 string powershell parsing file archive

我有这样的文件:

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
Run Code Online (Sandbox Code Playgroud)

这样做的目的是创建一个由trigram命名的存档,并将同一系列中的所有XML文件移动到创建的存档中.

Ans*_*ers 5

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

Get-ChildItem | ForEach-Object { ($_.Name -split '-')[1] }
Run Code Online (Sandbox Code Playgroud)

或(使用别名)

ls | % {($_.Name -split '-')[1]}
Run Code Online (Sandbox Code Playgroud)