powershell 使用多个路径获取ChildItem,并检索所有匹配的文件及其路径-仅检索服务器名称

2skhul33  于 2023-04-30  发布在  Shell
关注(0)|答案(1)|浏览(163)

我构建了一个脚本,它可以从与名称匹配的特定路径以及文件所在的路径中检索所有文件。
我只想得到文件名和服务器名(Server-1,Server-2等)。.),而不是所有路径(\Server-1\test\Desktop\etc..).
我该怎么做?
谢谢你
这是我到目前为止的脚本:

$filename= Read-Host "Please Enter The file Name Or Part Of It"
$path="\\SERVER-1\test\Desktop\test"
$path2="\\SERVER-2\test\Desktop\test"
$path3="\\SERVER-3\test\Desktop\test"

foreach($path in $path){
Get-ChildItem -Path $path,$path2,$path3 | Where-Object {$_.Name -like "*$filename*"} | Format-List Name -GroupBy DirectoryName
}
5t7ly7z5

5t7ly7z51#

由于Get-ChildItem可以采用路径数组,因此不需要foreach循环。
这里有一个aproach:

$filename = Read-Host "Please Enter The file Name Or Part Of It"
$paths = '\\SERVER-1\test\Desktop\test', '\\SERVER-2\test\Desktop\test', '\\SERVER-3\test\Desktop\test'
Get-ChildItem -Path $paths -Filter "*$filename*" -File | 
Select-Object @{Name = 'Server'; Expression = {$_.DirectoryName.Trim("\").Split("\")[0]}}, Name

相关问题