Elroir
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Maza Faka Цитата: Кто нибудь может разжевать, что именно происходит, когда я запускаю этот батник с аргументом "5", то в ввывод записывается число "120", почему? | Если разжевывать сильнее, чем это сделал vu1tur (): Чему у нас равен факториал 5-и? - 1*2*3*4*5=120. Передаем батнику число 5, он запускает процедуру :Factorial с аргументом 4, соответственно, то же самое происходит с числами 3 и 2. А вот когда мы дошли до числа 1 - батник не будет вызывать :Factorial, а сразу вернет ответ - 1. То есть после выхода из последнего вызова, переменная Result=1 и мы, наконец, добрались в первый раз до строчки Set /a Result=%1 * %Result%. %1=2, Result=1, значит новое значение Result=2*1=2. Возвращаемся к предыдущему вызову процедуры - %1=3, Result у нас теперь равен 2, значит Result=3*2=6. Таким образом мы доберемся до самого первого запуска процедуры :Factorial, когда %1=5, а Result уже равен 24 (4*6). 5*24=120, все процедуры :Factorial завершились - получаем результат 120. Обычная рекурсия. Добавлено: Tipulatoid Цитата: Как менять названия папок, я чего-то не дошел | Для переименовывания папок, используется команда move: move old_name new_name |