Je veux créer un fichier de commandes pour contourner certains problèmes de commande sur mon ordinateur, mais pour cela, je dois pouvoir utiliser l'entrée utilisateur de String et l'exécuter en tant que commande.
Fondamentalement, ce que je veux être capable de faire est de taper une commande lorsque le fichier de commandes demande une entrée et que l'ordinateur l'exécute, comme le module os de python (classe?)
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 entrée. 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 ^<CTRL+C^> to abort . . .
>nul pause
%command%
Dans sa forme la plus simple, vous souhaitez utiliser set /p
pour demander la commande, définir une variable d'environnement sur le résultat, puis développer simplement 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 la commande Invite, mais pas le Power Shell:
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