我有一堆服务器,有一组共同的日志文件夹。鉴于UNC根路径,我有一个脚本来查找我需要的日志文件。 但是我似乎无法弄清楚如何根据路径中的文件夹“服务”对它们进行排序,例如我的脚本返回以下内容
\\Server1\C$\Logs\ServiceA\Logs\File.log \\Server1\C$\Logs\ServiceC\Logs\File.log \\Server2\C$\Logs\ServiceB\Logs\File.log \\Server2\C$\Logs\ServiceD\Logs\File.log
我如何按“服务”文件夹的字母顺序对这些结果进行排序?
我似乎可以找出分裂,排序,加入。
答案 0 :(得分:0)
您可以将Sort-Object
的条件作为一个脚本块提供,您可以删除您不想要考虑的所有内容的输入,例如:像这样:
... | Sort-Object { $_ -replace '.*\\(Service[^\\]*)\\.*', '$1' }
或类似(如果所有UNC路径具有相同的结构):
... | Sort-Object { ([uri]$_).Segments[3] }
答案 1 :(得分:0)
$Uris = '\\Server2\C$\Logs\ServiceD\Logs\File.log',
'\\Server1\C$\Logs\ServiceC\Logs\File.log',
'\\Server1\C$\Logs\ServiceA\Logs\File.log',
'\\Server2\C$\Logs\ServiceB\Logs\File.log'
$Uris | sort {([uri]$_).segments[3]}