Panewki mam jakieś 160 tysięcy plików do przejrzenia i zmiany nazwy a raczej usunięcie z nich ciągu string.
Wszelkie programy jakie próbowałem niestety nie dają sobie rady, albo zawieszą się w czasie zapisu albo wgl nigdy nie załadują tych plików.
Dlatego zasięgnąłem tradycji i niezawodności, a więc PowerShell. Otwieram sobie w folderze głównym dokładnie jest to wielka biblioteka SFX. Wykonuję polecenie
rename-item : Cannot rename because item at 'shs_dt_vocal_breathy_spirits_2_129.wav' does not exist.
At line:1 char:20
+ ... i -r | foreach { rename-item $_ $_.Name.Replace("-hollywood", "") }
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Rename-Item], PSInvalidOperationException
+ FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.RenameItemCommand
Hierarchia katalogów jest naprawdę różna może być to 2-3-4 podkatalogi i tak dalej.
Ale uruchamiając polecenie w folderze z plikami audio lub katalogu przedostatnim działa to prawidłowo zmieniając nazwę w wszystkich plikach w katalogach znajdującym się w tym katalogu.
Przyjrzyj się, wykorzystuje Move-Item, chodzi o odpowiedź napisaną przez Dustin Malone. Tam jest też wyjaśnione dlaczego polecenia, które próbowałeś poprzednio nie działają
Więc wytłumacz mi co ma move item do rename bo nie rozumiem.
Chodzi o to, że move item też pozwala zmienić nazwę oraz przedstawiony przykład przenosi plik w te samo miejsce?
Problem rozwiązany tak jak wyżej napisałem zrobić zrobiłem (bo działa [Bradlee] lecz wyrzuca błędy ale idzie dalej i robi co trzeba) jednakże liczyłem, że ktoś mi pomoże rozwiązać problem z wywalaniem tych błędów w konsoli. Skądś się biorą i warto wiedzieć czemu i jak się ich pozbyć rozwiązania w Internety nie znalazłem, nie jestem też zawansowany, aby sam to rozwiązać na poziomie.
No niby można dostać [Berion] ale im dłużej czytam o tym tym bardziej przejrzyste się to staje a zarazem dostrzega się prostotę i w zasadzie sporą ułatwiającą automatyzację, noi jest ta niezawodność tak jak pisałem programy nie były wstanie sobie dać rady z 170 tysiącami plików i katalogów. Power Shel za to zrobił to w jakieś 3-5 sekundy
Oraz w ramach ciekawostki licznik ilości plików w danych rozszerzeniach: Get-ChildItem -Recurse -force -File | group Extension -NoElement | sort Count -Descending
A tutaj tabelka licząca rozmiar dla danej grupy rozszerzenia plików: Get-ChildItem -r -force -file | Group-Object extension | Select-Object name, @{n='TotalSize';e={$_.group | ForEach-Object -Begin {$size=0} -Process {$size += $_.length} -End {$size}}} | Sort-Object -Property 'TotalSize' -Descending | Format-Table -AutoSize
Jak zawsze w przypadku skryptów. Do mnie jednak obiektowość ps nie przemawia, do tego strasznie długie i często nieintuicyjne są te polecenia, z kolei cmd jest za ubogi. W zasadzie to pozwoliłem sobie na offtop z tym programem, ale w pierwszym poście napisałeś że już jakieś testowałeś i poległy to może ten konkretny dał by radę.