web-dev-qa-db-fra.com

Comment créer un fichier de commandes qui exécute des chaînes en tant que commandes?

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?)

18
pipsqueaker117

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%
29
Magoo

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%
6
Endoro

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%
3
Nate Hekman

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
0
srossross