Работа с файлами в cmd

Для подготовки дискографий к записи на флешку для использования в автомагнитолах желательно удалить все не музыкальные файлы, скопировать оставшиеся файлы в папку без сохранения исходной структуры папок и удалить незначащие префиксы и постфиксы из имени файлов.
Удалить лишние файлы из папки и ее подпапок

del /S /F /Q *.jpeg *.jpg *.png *.txt

Скопировать все файлы из нескольких папок в одну, без сохранения структуры папок

for /d %i in ("D:\songs\*") do @>nul xcopy "%i" "D:\songsF" /h/r/y

для bat-файла

@for /d %%i in ("D:\songs\*") do @>nul xcopy "%%i" "D:\songsF" /h/r/y

Удалить лишние символы из имени файлов (возможно использование отрицательного значения, тогда удаляет с конца)

@echo off
setlocal enabledelayedexpansion
set folder=D:\songsF\
set num=4
pushd %folder%
for %%i in (*) do (set out=%%i && move "%%i" "!out:~%num%,255!")
popd

праисточник http://forum.ixbt.com/topic.cgi?id=22:27349
На языке Python это будет выглядеть так:

import os
import shutil
path='G:\\музон\\Melniza.i.Helav99-13.MP3'
newpath='G:\\mm'
if (not(os.path.exists(newpath))):
    os.mkdir(newpath)
for rootdir, dirs, files in os.walk(path):
    for file in files:       
        f=os.path.join(rootdir, file)
        if (file[-3:]=='mp3'):
            ff=os.path.join(newpath, file[3:])
            shutil.copyfile(f,ff)

А проще, конечно, воспользоватся штатными возможностями интерфейса переименования linux ubuntu, либо total commander в windows, позволяющими массово переименовывать по маске.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *