Работа с файлами в 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, позволяющими массово переименовывать по маске.

Урок физкультуры

Задача L. Урок физкультуры
На уроке физкультуры тренер Андрей Сергеевич выстраивает учеников в одну шеренгу.Вшеренге сначала идут мальчики, а потом девочки. При этом мальчики в шеренге стоят по невозрастанию роста, аналогично девочки тоже стоят по невозрастанию роста. Таким образом, следом за самым низким мальчиком стоит самая высокая девочка. Андрея Сергеевича заинтересовал вопрос, какое максимальное различие в росте двух стоящих рядом учеников. Напишите программу, которая поможет Андрею Сергеевичу ответить на этот важный для него вопрос.
Формат входных данных Первая строка содержит целое число n — число учеников в классе (2 ≤ n ≤ 50). Следующие n строк содержат по два целых числа каждая: ai и hi — пол и рост в сантиметрах i-го ученика (ai равно 0 или 1, 100 ≤ hi ≤ 200). Значение ai = 0 означает, что i-й ученик — мальчик, а значение ai = 1 означает, что i-й ученик — девочка. Формат выходных данных Выведите одно число — максимальное различие в росте стоящих рядом учеников после того, как они выстроятся в шеренгу на уроке физкультуры.
Пример стандартный ввод стандартный вывод
6 //6 учеников
0 120
1 130
1 142
1 115
0 145
0 134
22 //вывод разницы в росте
Continue reading

Исполнитель «Калькулятор»

Исполнитель «Калькулятор» может с заданным числом X выполнить одну из трех операций и получить новое число. Возможные операции:
Прибавить к числу X единицу.
Умножить число X на 2.
Умножить число X на 3.
Определите, какое наименьшее число операций необходимо для того, чтобы получить из числа 1 заданное число N.
ВХОДНЫЕ ДАННЫЕ
Программа получает на вход одно число N, не превосходящее 106.
ВЫХОДНЫЕ ДАННЫЕ
Программа должна вывести одно число — наименьшее количество операций, необходимых для получения из числа 1 числа N.
ПРИМЕР

ввод вывод
1 0
5 3
962340 17

Continue reading

Массовое изменение паролей к защищенным записям WordPress

Для массового изменения паролей к защищенным записям WordPress можно воспользоваться SQL запросом такого вида:

UPDATE wp_posts SET post_password='NEW_PASSWORD' WHERE post_password='OLD_PASSWORD'

Он изменяет значение поля post_password для всех записей таблицы wp_posts.

Задача про кузнечика

Кузнечик на плоскости. У него есть 2 варианта движения – на одну клетку вправо, на одну клетку вниз. Сколько способов насекомому прийти в клетку (N; M)? Даны N, M (N, M < 20).

#include <iostream> using namespace std; int main() { system("chcp 1251 > nul"); int i,j,n,m; cin>>n>>m; int a[n][m]; for(i=0;i<n;i++) for (j=0;j<m;j++) if (i==0 || j==0) a[i][j]=1; for(i=1;i<n;i++) for (j=1;j<m;j++) a[i][j]=a[i-1][j]+a[i][j-1]; cout <<a[n-1][m-1]; return 0; }

С краткой теорией по динамическому программированию можно ознакомиться по адресу http://habrahabr.ru/post/113108/