2016-06-13 3 views

ответ

0

в PowerShell можно использовать -split operator разбить строку на _ и сохранить только первую часть:

$number,$null = '307456_ajksndkajsdna_asd_busd' -split '_' 

Значение $number сейчас 307456, остальное было отброшено.

Если вы хотите переименовать все дочерние папки в папку с только первым номером, используйте Get-ChildItem для извлечения файлов, и Rename-Item переименовать их:

Get-ChildItem -Path C:\folder\name |Where-Object {$_.PSIsContainer} |Rename-Item -NewName { $($_.Name -split '_')[0] } 
+0

Похоже, мне нужно добавить имя каждый используя этот метод. У меня есть сотни файлов, которые сортируются так. Numbers_combination чисел и букв _ комбинация чисел и букв _ комбинация чисел и букв. Я хочу удалить первый «_» и все после него. –

+0

Вам просто нужен список предыдущих номеров или вы хотите переименовать файлы? –

+0

Я хочу переименовать все папки только в первые числа перед первым _, как и в приведенных выше примерах. –

Смежные вопросы