Comment puis-je démarrer une machine virtuelle VirtualBox puis exécuter un fichier de commandes à l'intérieur de la machine virtuelle


1

J'ai une longue opération de construction qui appelle plusieurs fichiers de commandes successivement. La plupart de ces fichiers de commandes démarrent des compilateurs 32 bits, etc., mais l'un d'eux consiste à exécuter une application MS-DOS 16 bits héritée, ce que je ne peux pas éviter pour de bonnes raisons.

Pas de problème, jusqu'à ce que je passe à un système Win64, ce qui étouffe bien sûr les programmes 16 bits.

Ma solution consiste à exécuter XP 32 bits sur une machine virtuelle VirtualBox, mais il s'agit d'une étape manuelle dans ce qui serait autrement une version totalement autonome.

Ce que je veux faire est de démarrer la machine virtuelle à partir d'une ligne de commande, puis d'exécuter un fichier de traitement par lots à l'intérieur de la machine virtuelle, puis de fermer la machine virtuelle et de renvoyer le contrôle à mon fichier de traitement "maître".

Est-ce que ça va être possible?


2
Si vous laissez XP démarrer / arrêter en même temps que la VM, démarrer un fichier de commandes est aussi simple que de les placer dans le dossier Démarrer (haut). Bien entendu, le système d'exploitation invité doit être configuré pour ne pas nécessiter de connexion.
Jan Doggen

Réponses:


1

Vous pensez utiliser DOSBox? Vous seriez en mesure d'appeler cela à partir d'un fichier de commandes, etc., ce qui permettrait des constructions totalement sans surveillance et signifierait que vous pourriez le faire accéder directement à votre base de code et laisser la construction résultante là aussi, plutôt que sur le disque de certains ordinateurs virtuels.

http://www.dosbox.com/wiki/Basic_Setup_and_Installation_of_DosBox va vous aider à démarrer


J'ai commencé par le chemin du DosBox et cela semblait encourageant, mais je ne me suis pas laissé décontenancer à cause du support limité pour les fichiers batch (pas de setlocal, si (..)).
rossmcm

Oh, je m'excuse, je ne savais pas que ce n'était pas une implémentation complète de MSDOS. Tout ce que je pouvais penser, c’est de tout prendre et de ne passer que les indicateurs d’un fichier de commandes côté hôte lorsque vous appelez votre compilateur, mais bien sûr, je ne connais pas les détails, je suis sûr que vous avez peut-être des raisons. pour ne pas faire ça. Peut-être un appareil VMWare avec un autoexec.bat, à part ça, aucune idée, j'en ai peur
arpz

Merci pour votre contribution @arpz. L'un des facteurs que je n'ai pas mentionné dans l'OP est que je gère ces versions sur deux machines (travail / maison) et que l'une utilise XP, l'autre Win8. Je peux obtenir DOSBox en cours d'exécution et monter un lecteur de sorte qu'il "ressemble" à mon lecteur C: pas de problème. Les fichiers de commandes s'exécuteraient donc dans un environnement DOSBox identique à celui de Windows XP. C'est dommage. DOSBox n'implémente pas certaines des nuances les plus folles des fichiers de commandes.
rossmcm

0

Vous pouvez essayer de créer un dossier partagé pour la VM et d'y placer votre ou vos fichiers de traitement par lots. D'après ce que je pense, cela nécessiterait un certain degré d'intervention manuelle.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.