Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 流浪者上升或供给(如果已经上升)_Batch File_Vagrant - Fatal编程技术网

Batch file 流浪者上升或供给(如果已经上升)

Batch file 流浪者上升或供给(如果已经上升),batch-file,vagrant,Batch File,Vagrant,我需要创建一个简单的脚本(Windows.bat),它将提供或设置一个框 没有太多关于.bat文件的经验,因此这是我到目前为止的经验: 编辑感谢格雷格·休吉尔 cd C:\vagrant-box\ call vagrant-up.bat if errorlevel 1 call vagrant-provision.bat 脚本中的.bat文件called只包含一行:vagrant up和vagrant reload 当“流浪者”框关闭时,流浪者向上成功运行。当启动时,我在vagrant u

我需要创建一个简单的脚本(Windows.bat),它将提供或设置一个框

没有太多关于.bat文件的经验,因此这是我到目前为止的经验:

编辑感谢格雷格·休吉尔

cd C:\vagrant-box\

call vagrant-up.bat

if errorlevel 1 call vagrant-provision.bat
脚本中的.bat文件
call
ed只包含一行:
vagrant up
vagrant reload

当“流浪者”框关闭时,流浪者向上成功运行。当启动时,我在vagrant up中遇到了一个错误(我希望是这样),但是整个批处理文件都死在那里了<代码>错误级别似乎没有任何作用


如果有差异,这里是错误

Bringing machine 'default' up with 'virtualbox' provider...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["list", "hostonlyifs"]

Stderr: VBoxManage.exe: error: Failed to create the VirtualBox object!
VBoxManage.exe: error: Code CO_E_SERVER_EXEC_FAILURE (0x80080005) - Server execution failed (extend)
VBoxManage.exe: error: Most likely, the VirtualBox COM server is not running or failed to start.

我想强调的是,我并不关心错误本身。当盒子不运行时,它工作,所以它很好。我只想捕获或忽略它,然后移动到下一个命令。

vagrant up
即使机器已经运行,也会以代码0退出

但您不必担心退出代码,只需运行:

vagrant provision && vagrant up

你应该涵盖这两种情况。如果客人不在运行,
流浪者供应
将正常失败,
流浪者升级
将成功,反之亦然。

请发布你的流浪者升级.bat

此外,请尝试以下方法之一:
vagrant up--debug

和/或

VAGRANT\u LOG=debug VAGRANT


获取有关COM/VBox问题的更多详细信息。

我已删除我的答案,因为它不再回答您编辑的问题,而且也无法解决您的问题。您为什么需要调用它?
启动有什么问题
command@GregHewgill嗯,无论如何,谢谢。如果不是一个确切的答案,那也是很有帮助的。jist是:“
if errorlevel 0
的计算结果为
true
如果
errorlevel
大于或等于0,那么将其更改为
if errorlevel 1
”@monarcraft什么
启动
命令?我不知道vagrant start,它是windows批处理命令吗?如果是这样,是否允许我检查
errorlevel
以分支命令?根据您的描述,如果框已打开,则
vagrant
似乎没有终止。如果在“漫游”框打开时直接从提示符执行
vagrant up
,会发生什么情况?如果盒子打开,是否会加载
vagrant
可执行文件?