我正在嘗試爲我的ESXi服務器創建備份腳本,並且遇到了一些問題。如何使兩個批處理文件變量回顯爲單行?
我需要循環這兩個命令,然後將它們寫入一個文本文件,我稱之爲backup.list。它將包含我需要返回的所有VM ID和VM名稱。
當我有兩個循環命令對服務器運行時,他們只返回最後一個值,我知道有一些我失蹤,但我不是很明智,即使批處理。
下面是代碼:
@ECHO OFF
SET PLINK=C:\Plink.exe
SET ESXHOST=esx01.example.com
SET USERNAME=root
SET PASSWORD=password
SET DATASTORE=/vmfs/volumes/datastore3
IF EXIST Backup.list DEL Backup.list
TYPE NUL>Backup.list
SETLOCAL EnableDelayedExpansion
FOR /F "SKIP=1 TOKENS=1" %%A IN ('%PLINK% %USERNAME%@%ESXHOST% -pw %PASSWORD% vim-cmd vmsvc/getallvms') DO SET ID=%%A
FOR /F "SKIP=1 TOKENS=2" %%B IN ('%PLINK% %USERNAME%@%ESXHOST% -pw %PASSWORD% vim-cmd vmsvc/getallvms') DO SET VM=%%B
ECHO !ID!:!VM!
PAUSE
後自動:要格式化代碼塊,它縮進4個空格,或選擇它並單擊編輯器工具欄上的代碼按鈕。請參閱[如何格式化我的代碼塊?](http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks) – Helen 2010-07-08 16:46:02