我似乎想不通这件事。
我正在创建一个实时站点并将其部署到网上
批处理文件:
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的实时站点之前等待这一切的发生
由于某些原因,这个windows批处理命令会立即自动打开localhost:4000
发布于 2016-10-22 23:20:46
我会使用/B停留在相同的进程中,而使用/wait tot直到第一个命令完成。您不需要第二行中的/wait,除非后面有更多命令。如果这样做不起作用,可以尝试离开cmd /K。因为runas是一个可执行文件,批处理会一直等到它完成,所以你可以把start命令放在一起。
如果所有这些都不起作用,插入5个ping命令,这是等待±1秒的经典方法。
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/
发布于 2016-10-23 01:57:51
我将尝试一下这一点(完全未经测试)。
@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/
https://stackoverflow.com/questions/40193625
复制相似问题