Теория: $ ECHO # @echo off # echo # echo > file # echo >> file # echo ^ (^ нужно использовать, чтобы напечатать специальный символ) $ Комментарии # rem комментирует строку до конца $ help # for /? # if /? # set /? $ Простые команды # cd directory, cd .. # copy # move # del # type $ for # for /l %%i in (x,dx,y) do # for %%i in (??) do # for %%i in (a, b, c, *.txt) do # for /R in (*.cpp) do - перебираем файлы рекурсивно по всем папкам $ if # if "" == "" echo Hello # if == expression # if условие ( echo Hello ) else ( echo SomethingElse ) # if not "" == "" echo Hello # OR и AND отсутствуют, A AND B можно реализовать так: if A if B echo Hello $ Время # echo %time% # %* - запуск того, что мы передали в параметры # @echo. - вывод пустой строки $ Переменные и set # %PATH% # %RANDOM% # переменная for-а %%i # переменная обычная %i% # set x=aba # set x=%x%c%x% # set y=3 # set /a z=%y%+1 # см. пример e01-set.cmd, там есть сдвиги и взятие по модулю $ Функции, рекурсия # См. e03-func.cmd $ Параметры командной строки # int main( int agrc, char *argv[] ) { return 0; } # %* # %1, %2, %3, %4 # shift Практика: $ Основное # Сделать файл, в котором записаны числа от 5 до 25. # Скомпилировать все cpp файлы. # Написать cmd-файл, который замеряет время. # Сгенерировать тесты 1..9 с 2-мя рандомными числами внутри # Отдебажить на них баг в программе y.cpp (x.cpp и y.cpp всем даны). # Стресс-тест (генератор прямо внутри cmd файла) $ Дополнительное # Посчитать факториал числа рекурсивной функцией # Посчитать факториал числа без рекурсии, for-ом