Я пытаюсь создать скрипт резервного копирования для моего сервера ESXi, и у меня возникла небольшая проблема.
Мне нужно зациклить эти 2 команды и затем записать их в текстовый файл, который я называю backup.list. Он будет содержать все идентификаторы виртуальных машин и имена виртуальных машин, которые мне нужны.
Когда у меня запущены две команды цикла для сервера, они возвращают только последнее значение, я знаю, что чего-то не хватает, но я не очень разумен даже для пакетирования.
Вот код:
@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