Sono abbastanza sicuro che la stringa di selezione di Powershell funzionerà per me con un po 'di ricorsione Get-ChildItem.
Ho molte directory come questa:
abc_123
abc_345
abc_567
abc_890
abc_111
abc_569
In ogni directory, c'è un file specifico con lo stesso percorso per ciascun file in ciascuna directory:
abc_123:\AAA\SDK\Settings\foo.settings.xml
abc_345:\AAA\SDK\Settings\foo.settings.xml
abc_567:\AAA\SDK\Settings\foo.settings.xml
E così via.
All'interno del file foo.settings.xml, voglio cercare "BAR". e anche una riga sotto di essa:
<name="BAR.ABB"
default="1"
Il problema che sto riscontrando è nella directory che ha abc_123, abc_345, abc_567, ecc., Ci sono altre directory che contengono anche BAR. *. Non mi interessano questi risultati.
Sto tentando qualcosa del genere ma non funziona.
Get-ChildItem -Recurse *.* | Select-String -Pattern "BAR.*" foo.settings.xml | Select-Object -Unique Path
Dove nel mio comando posso specificare che voglio solo cercare le directory che iniziano con abc_ e in quel percorso specifico?
--- modificare ---
Il percorso inizia sempre abc_ * e foo.settings.xml ha sempre questo percorso:
abc_*:\AAA\SDK\Settings\foo.settings.xml
Ho provato questo:,
Get-ChildItem -Recurse | Where-Object {"abc_*"} | Select-String –Pattern "BAR.*"
ma questo sembra dare gli stessi risultati dall'alto.