Я попытался написать небольшой скрипт, чтобы автоматизировать создание списков воспроизведения (m3u) для десятков папок / подпапок файлов mp3 / mp4, но в нем отсутствовали различные другие файлы misc. Я очень мало знаю о Powershell, но мне удалось собрать воедино что-то, что почти работает. Единственное замечание: когда я использую «$ _. Extension -eq», он, похоже, не работает, или, по крайней мере, я не правильно его использую. Если я использую его, например, для сопоставления файлов log / txt во временной папке, это работает, но не в этом случае. Вот код -
$pathname = read-host "Enter path"
$root = Get-ChildItem $pathname | ? {$_.PSIsContainer}
$rootpath = $pathname.substring(0,2)
Set-Location $rootpath
Set-Location $pathname
foreach($folder in $root) {
Set-Location $folder
foreach($file in $folder) {
$txtfile =".m3u"
$files = gci | Where-Object {$_.extension -eq ".mp3" -or ".mp4"}
$count = $files.count
if($count -ge 2){
$txtfile = "_" + $folder.name + $txtfile
Add-Content $txtFile $files
}
}
if(test-path $txtFile){
Add-Content $txtFile `r
}
Set-Location $pathname
}
Я пробовал несколько вариантов, таких как замена "-match" на "-eq", но не повезло. кстати, если я опущу "-or" .mp4 "" в скобках, то он будет работать нормально, но мне нужно, чтобы он совпадал с обоими, и только с обоими mp3 / mp4.
Заранее спасибо.