MVV

|
Posted: Sun Dec 21, 2014 01:39 Post subject: |
|
|
Вообще, :do_file - это просто метка, но да, переход на неё выполняется в виде вызова процедуры. Ей передаются 3 параметра: путь к исходному файлу, путь к папке .descr и относительный путь к папке файла относительно корня диска. %~2 - путь к папке .descr без кавычек (модификатор ~), %~nx1 - имя и расширение без кавычек (модификатор ~nx) исходного файла, %~a1 - атрибуты (все возможные модификаторы можно посмотреть в консоли по команде call /?). Знак > означает вывод в новый файл, знак >> - дозапись в файл. При этом ^> просто печатает символ >. Путь к файлу предварительно помещается в переменную окружения и строится из пути к папке .descr, относительного пути к текущей папке, имени и расширения текущего файла и добавочного расширения .txt.
Для обработки каталога определена метка :do_dir, принимает три параметра: путь к корню диска, путь к папке .descr и относительный путь к текущей папке относительно базовых. Процедура сначала вызывает себя для вложенных папок (при этом к относительному пути добавляется имя очередной папки, которое извлекается модификатором ~nx, как и в :do_file), затем для каждого файла в папке вызывает :do_file. В команде for можно выбрать любую букву для подстановки пути к очередному элементу, я взял %F для файлов и %D для папок. Символ процента в команде for надо удваивать, если она пишется в батнике, а не напрямую в консоли.
Ну а в начале файла просто вызывается :do_dir для исходной папки с пустым относительным путём.Вообще, :do_file - это просто метка, но да, переход на неё выполняется в виде вызова процедуры. Ей передаются 3 параметра: путь к исходному файлу, путь к папке .descr и относительный путь к папке файла относительно папки диска. %~2 - путь к папке .descr без кавычек (модификатор ~), %~nx1 - имя и расширение без кавычек (модификатор ~nx) исходного файла, %~a1 - атрибуты (все возможные модификаторы можно посмотреть в консоли по команде call /?). Знак [i] _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|