Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

PowerShell и *.m3u

536
30 марта 2010 года
alex-kniaz
382 / / 07.08.2008
Код:
function main
{
    $DIRECTORY='E:\Music';
    $count=5;
   
    cd $DIRECTORY;
    $foo = Get-ChildItem $DIRECTORY -include *.mp3 -name -recurse;
   
    $list = (Get-Random -input $foo -count $count | Out-String).split("`n");
   
    $out="#EXTM3U"
   
    remove-item "$DIRECTORY\list.m3u";
   
    for ($i=0; $i -lt $list.Length; $i++) {
      $name=$list[$i];
      if(-not ($name -eq '')){
        $out = $out + "`n#EXTINF:300`n$name";
      }
    }
   
    Write-Output $out | Out-File "$DIRECTORY\list.m3u"
}

main;


Скрипт должен получить рандомно часть музона из E:\Music, после чего - натравить винамп (пока не делал). При открытии готового плейлиста винампосм тот выводит в плейлисте
Цитата:
1. яю#


блокнот

Цитата:
#EXTM3U#EXTINF:300veter.mp3
#EXTINF:300best-mp3.ru_mavrin_sergei_-_poka_bogi_spyat.mp3
#EXTINF:300nebo_tebya_naidyot.mp3
#EXTINF:300leon_-_metro_2033.mp3
#EXTINF:300vek_moi_zverj.mp3


т.е переводы строки частично игнорируются. В чём трабла (кстати когда в хром скопирнул из блокнота - вставло на места), пришло самому привести к начальному виду

5
30 марта 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: alex-kniaz
яю


Это BOM-сигнатура. Копайте в сторону кодировок, почти наверняка PS перекодирует файлы в UTF-8.

536
30 марта 2010 года
alex-kniaz
382 / / 07.08.2008
т.е файл надо перекодировать из PS - кодировки в Winamp-ю, так?
536
30 марта 2010 года
alex-kniaz
382 / / 07.08.2008
Обошёл так:
вместо
 
Код:
$out="#EXTM3U"
...
$out = $out + "`n#EXTINF:300`n$name";
...
Write-Output $out | Out-File "$DIRECTORY\list.m3u"

поставил
 
Код:
...
Write-Output "#EXTM3U" | Out-File $list -encoding DEFAULT
...
Write-Output "#EXTINF:300" | Out-File "$DIRECTORY\list.m3u" -append -encoding DEFAULT;
Write-Output "$name" | Out-File "$DIRECTORY\list.m3u" -append -encoding DEFAULT;
...
536
30 марта 2010 года
alex-kniaz
382 / / 07.08.2008
возник вопрос.
(Get-Random -input $foo -count $count | Out-String).split("`n"); при одинаковом $foo возвращает одни и те же данные. в чём дело?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог