J'essaie de créer un script de sauvegarde pour mon serveur ESXi et je rencontre un problème.Comment faire en sorte que deux variables de fichiers par lots se répercutent sur une seule ligne?
Je dois boucler ces 2 commandes, puis les écrire dans un fichier texte que j'appelle backup.list. Il contiendra tous les noms d'ordinateurs virtuels et de machines virtuelles dont j'ai besoin. Quand j'ai les deux commandes de la boucle exécutées contre le serveur elles ne retournent que la dernière valeur, je sais qu'il y a quelque chose qui me manque mais je ne suis pas très sage même pour le lot.
Voici le code:
@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
Pour votre information: Pour formater un bloc de code, indentera 4 espaces, ou sélectionnez-le et cliquez sur le bouton de code dans la barre d'outils de l'éditeur. Voir [Comment formater mes blocs de code?] (Http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks) – Helen