我希望搜索
http
文件夹下包含 tfs.mybank
和 D:\lm
的所有 url 字符串,同时排除文件夹 _backup
和 Informatica
以及包含 .csv
和 .log
的文件名
下面尝试在 powershell 中获取结果,但无法排除提到的文件夹,例如
_backup
$uniqueUrls = @{}
Get-ChildItem -Path "D:\CCNet\lm\" -Recurse -Exclude "*.log*", "*.csv", "*.bak*" | Where-Object { $_.FullName -notmatch '\\_backup\\|\\Informatica\\' } | Select-String -Pattern "tfs.mybank" | ForEach-Object {
$url = $_.Line
if($url -match "http"){
$uniqueUrls[$url] = $true
}
}
$uniqueUrls.Keys | ForEach-Object{
Write-Output $_
} >D:\alltfsforlm.txt
结果:
服务器\projects.bak_SM_06_02_2021_backup\sm_deploy_dev.xml:
http://deploydev:[email protected]:8080/tfs/Default/MHRS.SM/_git/SM.Portal服务器\projects_obsolete_and_backups\SM_hri\SmOrchestratorTasks_cso.xml: http://tfs.mybank.com:8080/tfs/default
服务器\projects.current\Backup_MBCDeploymentScript_6_4_2014\CreatePackage.MBCServices.FN.xml: http://tfs.mybank.com:8080/tfs/default
服务器\projects.bak_SM_06_02_2021_backup\sm_deploy_main.xml:
http://tfs.mybank.com:8080/tfs
如您所见,结果中不应该填充
_backup
。
你能推荐一下吗?