2016-10-22 6 views
0

Я не могу понять это.Windows командный файл, дождитесь окончания команды?

Я создаю живой сайт и развернув его онлайн

пакетный файл:

START cmd /K "runas /user:administrator & cd C:\users\MyName\dropbox\!!GIT_HUB_REPOS_ALL\tangycode.github.io & hexo generate & hexo serve --draft" 


START /wait "" http://localhost:4000/ 

Дело работает команда hexo generate & hexo serve --draft занимает около 5-10 секунд, время меняется. В идеале я хочу ждать, пока это произойдет, прежде чем жить-сайт http://localhost:4000

Некоторые причины этого окна пакетной команды просто автоматически открывает Localhost: 4000 сразу, хотя

+3

Хм. Интересно, что может сделать «start/wait», который вы использовали во второй строке. Теперь, возможно, если вы прочитаете документацию на 'start', введя« start /? »В командной строке, все может стать ясным. Или, может быть, не ... – Magoo

ответ

1

Я хотел бы использовать/B, чтобы остаться в том же process и/wait tot дождитесь завершения первой команды. Во второй строке вам не понадобится/wait, если не будет больше команд. Если это не работает, экспериментируйте с выходом CMD/K. Поскольку runas является исполняемым файлом, и пакет ждет, пока он не будет завершен, вы можете полностью отпустить команду запуска.

Если все это не работает, вставьте 5 команд ping, это классический способ подождать ± одну секунду.

START /B /wait "runas /user:administrator & cd C:\users\MyName\dropbox\!!GIT_HUB_REPOS_ALL\tangycode.github.io & hexo generate & hexo serve --draft" 


START /B "" http://localhost:4000/ 
+0

Я попытался запустить это, но моя командная строка просто сидит там и ничего не делает. Нет кодов ошибок или ничего – Kagerjay

+0

Что именно вы пытаетесь, я предлагаю здесь несколько вещей. сначала попробуй часть runas на себе, не запустив консоль, только после этого попробуй ее в партии – peter

+0

Скопирую код в первый раз пример. Затем в моем исходном файле я удалил команду/wait. Я также попытался/B, но по какой-то причине он всегда запускал команду в той же папке, что и мой командный файл. – Kagerjay

0

Я возьму удар в этом, (полностью непроверенные).

@Echo Off 

(Set SrcDir=%UserProfile%\dropbox\!!GIT_HUB_REPOS_ALL\tangycode.github.io) 

If Not Exist "%SrcDir%\" Exit/B 
Start "" /D"%SrcDir%" /Wait /B RunAs /User:administrator^ 
"Cmd /C Start /Wait hexo generate & Start hexo serve --draft" 

Start http://localhost:4000/ 
+0

Я попробовал запустить это, но он запросил у меня пароль администратора, хотя я администратор: s – Kagerjay

+0

Вы использовали эту команду, я просто скопировал ее с вашего начального сообщения, _ (кроме моего непреднамеренного использования капитала ** A * * вместо ** a **, теперь изменено) _. – Compo

 Смежные вопросы

  • Нет связанных вопросов^_^