配对文件和操作

时间:2016-05-05 23:46:05

标签: powershell

我有一堆文件:

Fair_20151026-1940.txt
Poke_20160101-1920.txt
Fair_20160101-1920.txt
Poke_20151026-1940.txt

我想阅读每对'例如每个匹配*_YYYYMMDD-XXXX.txt的文件,然后'做东西'用这些文件。

可能有数百个,我需要确保每个人都能找到它们。

到目前为止,我只是读取每个* .xml文件并将它们与之前读取的* .xml文件进行比较,如果它不是匹配迭代。不确定这是否是最有效的做事方式。

干杯

1 个答案:

答案 0 :(得分:1)

您可以使用Group-Object将每对组合在一起:

$txtFiles = Get-ChildItem C:\path\to\files *.txt |Where-Object { $_ -match '^(?<=Fair|Poke)_\d{8}-\d{4}\.txt$' } 
$txtFiles |Group-Object {
  $_.Name -split '_',2 |Select-Object -Skip 1
} |ForEach-Object {
  $Fair,$Poke = $_.Group |Sort-Object Name
  # Manipulate all you want here
}