Я пытаюсь проверить ряд каталогов и подкаталогов, чтобы увидеть, есть ли в одной папке два или более файла с одинаковым именем. Я думаю, что моя проблема в том, как я пытаюсь проверить строку.
Для следующего тестового каталога:
- |-- C:\Test\
- |--C:\Test\YY\
- |--C:\Test\YY\xx.log
- |--C:\Test\YY\xx.txt
- |-- C:\Test\ZZ\
- |-- C:\Test\ZZ.log
- |-- C:\Test\ZZ.txt
- |--C:\Test\YY\
Мне нужен мой код, чтобы найти xx.log и ZZ.log. Я могу включить проверку против $_.PSisContainer
(но я не думаю, что это необходимо).
ForEach ($item in (gci "C:\Test\*" -recurse)) {
If ($item.extension -notmatch "txt" -AND $item.basename+".txt" -eq $True) {
Write-Host $item.fullname
}
}
$item.basename+".txt"
предоставляет правильную строку, но я не могу использовать эту строку для проверки существования файла.
Может ли кто-нибудь помочь исправить мой код? Я хотел бы узнать, как обрабатывать объединенные строки, подобные этому, - я думаю, что этот трюк будет полезен в других областях.