iNNOKENTIY21
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору andrejka_k Цитата: Нa диcкe C нeoбхoдимo пpocкaниpoвaть вce фaйлы (c любыми pacшиpeниями), и, в cлучae нaличия в имeни фaйлa пocлeдoвaтeльнocти «фpaзa» (будeт вcтpeчaтьcя в имeни фaйлa нa киpиллицe), имя дaннoгo фaйлa тpeбуeтcя измeнить нa «fraza»; вce ocтaльныe cимвoлы нужнo ocтaвить бeз измeнeния. | Искать по всему C:\ слишком долго, в примере ищется в C:\Users\ и подкаталогах, ищется файл имеющий расширение, ищется/заменяется только в имени — не в расширении. Код: $SearchText = "фраза" $ReplaceText = "fraza" $Path = "C:\Users\" + "*$SearchText*.*" ls $Path -Recurse -File -ErrorAction SilentlyContinue | Rename-Item -NewName ({($_.BaseName -Replace $SearchText, $ReplaceText) + $_.Extension}) -PassThru -WhatIf | -WhatIf не исполняет команду, только показывает, что команда сделала бы. Результат: Код: What if: Performing the operation "Rename File" on target "Item: C:\users\Admin\Documents\фраза.фраза Destination: C:\users\Admin\Documents\fraza.фраза". | Если результат устраивает, то удалить параметр -WhatIf и запустить на исполнение. -PassThru выводит результат, если надо потихому – удалить параметр. |