Comment puis-je faire un fichier de commandes exécuter des chaînes en tant que commandes?

Je veux créer un fichier de commandes pour contourner certains problèmes de cmd sur mon ordinateur, mais pour cela, je dois pouvoir saisir les entrées de chaîne et les exécuter en tant que commande.

Fondamentalement, ce que je veux être capable de faire est de saisir une commande lorsque le fichier batch demande une entrée, et que l’ordinateur exécute cette commande, comme le module os de python (class?)

Assignez simplement la chaîne à une variable, puis “exécutez” la variable comme s’il s’agissait d’un programme

par exemple

set myvar=ECHO Hello, World! %myvar% 

Utilisez la commande set /p pour demander une saisie. Cette commande affiche également un message. Exemple:

 @echo off set "command=dir" set /p "command=type in a command: " echo.command is: %command% echo.press any key or ^ to abort . . . >nul pause %command% 

Dans sa forme la plus simple, vous souhaitez utiliser set /p pour demander la commande, en définissant une variable d’environnement sur le résultat, puis simplement en développant la variable d’environnement elle-même et le système d’exploitation tentera de l’exécuter en tant que commande.

 SET /P COMMAND=Command: %COMMAND% 

Vous pouvez utiliser le lot pour la boucle, cela fonctionne pour moi dans l’invite de commande, mais pas le shell de l’alimentation:

 Microsoft Windows [Version 6.3.9600] (c) 2013 Microsoft Corporation. All rights reserved. C:\Users\Administrator>FOR /F "delims=" %i IN ('python -c "print('set wow=yep')"') DO set toexec=%i C:\Users\Administrator>set toexec=set wow=yep C:\Users\Administrator>%toexec% C:\Users\Administrator>echo %wow% yep