Здравствуйте, m2user, Вы писали:
M>IMHO, запутанное экранирование строк это общая проблема всех языков, предназначенных для shell scripting (powershell, posix shell).
Это не экранирование строк. Я считываю имя файла в переменную, не пишу руками. И эту же переменную использую для поиска дочерних файлов:
function Process-Folder {
param(
[string]$folderPath
)
$items = Get-ChildItem -Path $folderPath -Force | Sort-Object Name
foreach ($item in $items) {
if ($item.PSIsContainer) {
Process-Folder -folderPath $item.FullName
} elseif ($item.Extension -eq ".zip") {
Expand-ZipFile -zipFile $item.FullName
}
}
}
Т.е. вызываю эту функцию с корнем диска. Оно перебирает все папки, но не перебирает файлы внутри папки с [].