簡體   English   中英

如何使用vmrun在vmware中運行命令,命令為(echo%PROGRAMFILES%)

[英]How to run a command in vmware using vmrun, command is (echo %PROGRAMFILES%)

如何在使用vmrun的vmware中運行命令,命令在來賓計算機上是(echo%PROGRAMFILES%)。並且來賓計算機應返回命令結果的值...如何執行此操作? 請建議

我需要做類似的事情,發現這個未解決的問題。 這是我的解決方案。

@ECHO OFF

REM Set up abbreviations that we'll be using a lot.
SET VMRUN="C:\Program Files (x86)\VMware\VMware VIX\vmrun.exe" -T ws -gu Administrator -gp password
SET VMX="C:\Users\whoever\Documents\Virtual Machines\Windows\Windows.vmx"
SET GUEST_COMSPEC="C:\WINDOWS\system32\cmd.exe"

REM Tried to do this in one line, but couldn't figure out the quoting.
%VMRUN% CreateTempfileInGuest %VMX% >%TEMP%\GuestTmp.txt || GOTO :CantCreate
FOR /F "delims=;" %%F IN ( %TEMP%\GuestTmp.txt ) DO SET GTEMP=%%F

REM The batch file is a one-liner that echos the variable into a file.
REM It could be generated dynamically and copied to the guest
REM but I didn't want to complicate things any further.
%VMRUN% runProgramInGuest %VMX% %GUEST_COMSPEC% "/c C:\echo-ProgramFiles.bat %GTEMP%"
%VMRUN% CopyFileFromGuestToHost %VMX% %GTEMP% %TEMP%\GuestOut.txt
%VMRUN% DeleteFileInGuest %VMX% %GTEMP%

REM Do something with the result and delete the temp files.
TYPE %TEMP%\GuestOut.txt
DEL %TEMP%\GuestOut.txt %TEMP%\GuestTmp.txt
GOTO :EOF

:CantCreate
REM Provide details on any problems.
TYPE %TEMP%\GuestTmp.txt 1>&2
DEL %TEMP%\GuestTmp.txt
EXIT 100

這是來賓主機上的批處理文件。 如您所見,這非常簡單。 我無法獲得重定向以在runProgramInGuest中工作(可能沒有做足夠的實驗),因此我只是將文件作為命令行參數傳遞。

@echo %PROGRAMFILES% >%1

在這里查看vmrun命令。 您需要Guest OS命令runScriptInGuest

我沒有檢查命令,但是它應該看起來像這樣。 請驗證一下。

vmrun -T server -h https://xps:8333/sdk -u user -p mypassword -gu administrator -gp guestpaswd 
  runScriptInGuest "[Vol1] win2008-1/win2008-1.vmx" "echo %PROGRAMFILES%"

我不得不使用runProgramInGuest將輸出捕獲到一個文件中,然后將文件復制回我的主機並使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM