powershell文件名的唯一部分列表

guz*_*sto 2 sorting powershell filenames unique

我有多台机器将文件上传到一个FTP目录.文件名的第一部分是机器,其余部分是时间戳,例如AAAAA_20130312_125113.

现在我想获得已上传到此目录的所有Unique机器的排序列表.我设法将所有filenames.substring(0,5)的丢失写入主机,但我仍然没有唯一的机器名称.

$files=Get-ChildItem $strMOVETO -Name -Include TAS*.csv -Recurse
ForEach ($i in $files) { Write-Host $i.Substring(0,5) }
Run Code Online (Sandbox Code Playgroud)

关于如何做到这一点的任何提示?没有必要是一个班轮,虽然这将是一个很好的挑战;-).

谢谢!

alr*_*roc 5

当你有一个8个字符的机器名称会发生​​什么?你的substring意志会破裂.由于机器名称,日期和时间由a分隔_,因此拆分并获取第一项.

Get-ChildItem $strMOVETO -recurse -name -include TAS*.csv|%{$_.split("_")[0]}|sort-object -unique
Run Code Online (Sandbox Code Playgroud)

要过滤日期:

Get-ChildItem $strMOVETO -recurse -include TAS*.csv|where-object{$_.lastwritetime -ge (get-date).adddays(-1)}|%{$_.basename.split("_")[1]}|sort-object -unique
Run Code Online (Sandbox Code Playgroud)