Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Разделение текстового файла на переменное количество частей и перемещение этих частей

Ответить
Настройки темы
CMD/BAT - Разделение текстового файла на переменное количество частей и перемещение этих частей

Новый участник


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

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


С Вашей помощью у меня получается создать папки с плейлистами
Срипт
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion
>nul chcp 1251

set "src=F:\Music\Test"
set "dest=F:\Music\MPL"
set "files=*.mp3"
set "playlistext=.alb"
 
2>nul (md "%dest%"
for /f "delims=" %%i in ('dir/ad/b "%src%"') do >"%dest%\%%i%playlistext%" dir/a-d/b/s "%src%\%%i\%files%")
For %%a in (F:\Music\MPL\*.alb) do md "F:\Music\MPL\%%~na"& move "%%~a" "F:\Music\MPL\%%~na"

for /f "tokens=*" %%i in ('dir /b /s F:\Music\MPL\*.alb') do (

    for /f "tokens=*" %%j in ('type "%%i"') do call:set_random "%%j"
    call:set_content "%%i"

)

goto:eof

:set_random
set "line_%random%=%~1"
goto:eof

:set_content

1>%1 (

for /f "tokens=2* delims==" %%i in ('set line_') do echo %%i

)

for /f "tokens=1 delims==" %%i in ('set line_') do set "%%i="


В папке "E:\Air\playlists" у меня лежит много подпапок. В каждой подпапке есть папка "elements"
elements
Цитата:
E:\Air\playlists\Folder01\elements
E:\Air\playlists\Folder02\elements
E:\Air\playlists\Folder03\elements
E:\Air\playlists\*\elements


В папках "elements" лежат миниплейлисты. Их имена = именам плейлистов, которые созданы предыдущим скриптом, но с тегами 01, 02, 03...
Пример:
1. В папке "F:\Music\MPL\Chillout" есть файл "chillout.alb". В папке "E:\Air\playlists\Folder01\elements" есть файл "chillout01.alb", а в папке "E:\Air\playlists\Folder03\elements" есть файл "chillout02.alb". В остальных папках "E:\Air\playlists\*\elements" файлы "chillout**.alb" отсутствуют. Всего 2.
В папке "F:\Music\MPL\Trance" есть файл "trance.alb". В папке "E:\Air\playlists\Folder01\elements" есть файл "trance01.alb", в папке "E:\Air\playlists\Folder02\elements" есть файл "trance02.alb", а в папке "E:\Air\playlists\Folder04\elements" есть файл "trance03.alb". В остальных папках "E:\Air\playlists\*\elements" файлы "trance**.alb" отсутствуют. Всего 3.
2. После запуска скрипта он должен определить, что в подпапках "F:\Music\MPL" есть файл "chillout.alb", а во всех подпапках "E:\Air\playlists\*\elements" есть 2 файла с тегом "chillout" в названии. То же самое сравнение для "trance" и всех остальных.
3. Скипт разделяет файл "F:\Music\MPL\Chillout\chillout.alb" на "F:\Music\MPL\Chillout\chillout01.alb" и "F:\Music\MPL\Chillout\chillout02.alb" с одинаковым количеством строк. "F:\Music\MPL\Trance\trance.alb" разделяет на "F:\Music\MPL\Trance\trance01.alb", "F:\Music\MPL\Trance\trance02.alb" и "F:\Music\MPL\Trance\trance03.alb" с одинаковым количеством строк.
4. Замена существующих "E:\Air\playlists\*\elements\chillout**.alb" и "E:\Air\playlists\*\elements\trance**.alb" новыми "F:\Music\MPL\Chillout\chillout**.alb" и "F:\Music\MPL\Trance\trance**.alb"

Вот как-то так. Надеюсь я не путано объяснил, что я хочу получить в итоге?

Отправлено: 21:43, 27-02-2016

 

Новый участник


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

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


Всем спасибо. Принято в работу фрилансером.

Отправлено: 13:16, 29-02-2016 | #11



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

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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Разделение текстового файла на переменное количество частей и перемещение этих частей

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Разделение текстового файла на части без разделения абзацев Re:Flex Скриптовые языки администрирования Windows 9 09-07-2013 04:35
Разделения экрана на несколько частей ViRTaCe Хочу все знать 5 22-03-2013 01:11
Как разбить *.avi файл на 2 и более частей azbest Видео и аудио: обработка и кодирование 10 20-10-2009 15:58
Download Master (архив разбит на несколько частей) Kindmankind Хочу все знать 11 19-03-2009 23:55
Как разбить большой кусок текста на несколько частей chem1 Вебмастеру 11 25-05-2008 16:32




 
Переход