Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] нужно переименовать большую коллекцию MP3 файлов

Ответить
Настройки темы
PowerShell - [решено] нужно переименовать большую коллекцию MP3 файлов

Аватара для IVa_

Старожил


Сообщения: 349
Благодарности: 16


Конфигурация

Профиль | Цитировать


Изменения
Автор: IVa_
Дата: 19-07-2017
Столкнулся с проблемой понимания скрипта, Ситуация выглядит следующим образом, нужно переименовать большую коллекцию MP3 файлов.Вместо названия пронумеровать каждый файл в папке.Нашел скрип, и не могу понять что нужно делать.Помогите разобраться.
Хотя в нем все подробно разжевано все равно возникают трудности.

Отправлено: 16:52, 18-02-2015

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата IVa_:
Вместо названия пронумеровать каждый файл в папке.Нашел скрип, и не могу понять что нужно делать. »
IVa_, возьмите ReNamer « Products « den4b.com.

Отправлено: 17:17, 18-02-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


IVa_, Просто пронумеровать? Без названия? Я переименовываю исходя из тегов (с помощью taglib-sharp). Ваш вариант:
Код: Выделить весь код
$dirs = gci "d:\music" -dir -recurse

foreach ($dir in $dirs) { 

  if ( test-path "$($dir.fullname)\*.mp3" ) {
  
    $files = gci $dir.fullname '*.mp3'
    
    1..$files.count | % { rename-item -lit $files[($_-1)].fullname "$( '{0:d3}' -f $_ ).mp3" -whatif }
    
    
}}
После проверки уберите ключ -whatif (он выводит предполагаемый результат)

Последний раз редактировалось Foreigner, 18-02-2015 в 17:49.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:41, 18-02-2015 | #3


Аватара для IVa_

Старожил


Сообщения: 349
Благодарности: 16

Профиль | Цитировать


Да названия не к чему, перебрал, лучшие треки.Хотя и с название не помешает заморочек больше.


Код: Выделить весь код
Get-ChildItem : Не удается найти параметр, соответствующий имени параметра "dir
".
строка:1 знак:28

-------
Одна и та же информация в разное время может быть полезной и бесполезной.


Последний раз редактировалось IVa_, 18-02-2015 в 19:46.


Отправлено: 19:33, 18-02-2015 | #4


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


IVa_, опять предложу воспользоваться ReNamer , он умеет работать и с тэгами.
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:11, 18-02-2015 | #5


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


IVa_, А какая версия Powershell?
Код: Выделить весь код
$host.version.tostring()
Если 2.0 и ниже:
Код: Выделить весь код
$dirs = gci "d:\music" -recurse | ? { $_.psiscontainer }

foreach ($dir in $dirs) { 

  if ( test-path "$($dir.fullname)\*.mp3" ) {
  
    $files = gci $dir.fullname '*.mp3'
    
    1..$files.count | % { move-item -lit $files[($_-1)].fullname "$($dir.fullname)\$( '{0:d3}' -f $_ ).mp3" -whatif }
    
    
}}
На сколько помню до 3-ей (или 4-ой?) у gci (get-childitem) нет контекста для файловой системы и у rename-item нет ключа -literalpath

Отправлено: 20:28, 18-02-2015 | #6


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Foreigner:
у gci (get-childitem) нет контекста для файловой системы »
Растолкуйте подробнее, пожалуйста. Для вышеприведённого примера.

Отправлено: 20:41, 18-02-2015 | #7


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


Iska, https://technet.microsoft.com/en-us/.../hh847897.aspx

Отправлено: 20:42, 18-02-2015 | #8


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Foreigner, перефразирую вопрос: каким именно образом, по Get-Help или иначе (но локально), можно выяснить параметры командлета, специфичные для конкретного провайдера? Ибо контекст-то есть, как я понимаю, но как выяснить указанные детали?!

Отправлено: 21:01, 18-02-2015 | #9


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


Iska, Наверное никак... Сам случайно натолкнулся в чьем-то скрипте на параметр -directory, ну и пошел в яндекс.
Я пытался так (но не знаю правильно ли вообще):
Код: Выделить весь код
help get-childitem -functionality 'filesystem'
Лезет в сеть и ничего не находит

Отправлено: 21:22, 18-02-2015 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] нужно переименовать большую коллекцию MP3 файлов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Найти и переименовать содержимое файлов. Spacejet Скриптовые языки администрирования Windows 2 15-01-2015 18:22
CMD/BAT - Переименовать кучу файлов bagfinder Скриптовые языки администрирования Windows 1 03-02-2014 21:32
Установка - [решено] Нужно переименовать диски АннаА Microsoft Windows 7 3 16-11-2011 16:03
Медиа - Проигрывание mp3 файлов bl1nk Microsoft Windows 2000/XP 6 21-07-2008 19:46
Как переименовать имя аккаунта в XP с изменением имени его папки и других файлов. Alikber Microsoft Windows 2000/XP 4 06-03-2006 00:15




 
Переход