@echo off
chcp 65001 >nul
title עמש יצבק תומש תכיפה

echo.
echo ==========================================
echo       עמש יצבק תומש תכיפה
echo ==========================================
echo.
echo :הייקיתה
echo "%~dp0"
echo.
echo ...קפס רצוע
echo.

powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "$ext=@('.mp3','.wav','.m4a','.flac','.ogg','.wma','.aac'); $files=@(Get-ChildItem -LiteralPath '%~dp0' -Recurse -File | Where-Object {$ext -contains $_.Extension.ToLower()}); $changes=@(); foreach($f in $files){$c=$f.BaseName.ToCharArray();[Array]::Reverse($c);$n=(-join $c)+$f.Extension;if($f.Name -ne $n){$changes+=[PSCustomObject]@{File=$f;NewName=$n}}}; Write-Host ''; Write-Host '=========================================='; Write-Host '       םייונישה תא עצבל םידמוע'; Write-Host '=========================================='; Write-Host ''; if($changes.Count -eq 0){Write-Host 'םייוניש ךירצש עמש יצבק ואצמנ אל.'}else{$i=0;foreach($x in $changes){$i++;Write-Host ('['+$i+'] '+$x.File.Name);Write-Host ('    -> '+$x.NewName)};Write-Host '';Write-Host ('םייונישל םיצבק '+$changes.Count+' ואצמנ.');Write-Host ''; $a=Read-Host 'Y=ןכ / N=אל : עצבל';if($a -eq 'Y' -or $a -eq 'y'){Write-Host '';Write-Host '...םייונישה תא עצבמ';Write-Host '';foreach($x in $changes){try{Rename-Item -LiteralPath $x.File.FullName -NewName $x.NewName -ErrorAction Stop;Write-Host ('OK: '+$x.File.Name+' -> '+$x.NewName)}catch{Write-Host ('ERROR: '+$x.File.Name);Write-Host $_.Exception.Message}}}else{Write-Host '';Write-Host '.הנוש אל ץבוק ףא .הלטוב הלועפה'}}"

echo.
echo ==========================================
echo              !םייתסה
echo ==========================================
echo.
pause