Как я понимаю 3-х строчный пакетный скрипт? - PullRequest
1 голос
/ 24 апреля 2010
ECHO @ECHO OFF ^& (IF EXIST "%%~dp0%~n1.swf" (DEL "%%~dp0%~n1.swf")) ^& %mxmlcPath% %opts% -file-specs "%%~dp0%~nx1" ^& (IF EXIST "%%~dp0%~n1.swf" (CALL "%%~dp0%~n1.swf") ELSE (PAUSE)) > "%~dpn1.bat"
REM Immediately execute the generated bat
@ECHO on
CALL "%~dpn1.bat"

Это действительно беспорядок для меня (например, ECHO @ECHO OFF, для чего он предназначен?), Кто-нибудь может это уточнить?

1 Ответ

6 голосов
/ 24 апреля 2010

Первая строка генерирует пакетный файл (обратите внимание на символ «>», перенаправляющий вывод в файл в конце первой строки). Третья строка гарантирует, что вывод будет видимым, четвертая строка выполняет пакетный файл, сгенерированный в первой строке.

Что касается того, что делает сгенерированный пакет: похоже, он воссоздает какой-то файл SWF: сначала файл SWF удаляется:

"(IF EXIST "%%~dp0%~n1.swf" (DEL "%%~dp0%~n1.swf"))" 

затем он создается с помощью программы, определенной в переменной окружения mxmlcPath:

%mxmlcPath% %opts% -file-specs "%%~dp0%~nx1"

если он успешно создан, он запускается в проигрывателе SWF по умолчанию:

(IF EXIST "%%~dp0%~n1.swf" (CALL "%%~dp0%~n1.swf")

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

ELSE (PAUSE)

Объяснение синтаксиса всех «% ~ dp0» и т. Д. Доступно в документации по нескольким командам Windows, например:

call /?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...