如何使batch file运行string作为命令?

我想创build一个batch file来绕过计算机上的一些cmd问题,但为此我需要能够使用String用户input并将其作为命令运行。

基本上我想要做的是在batch file要求input时input命令,并让计算机运行该命令,类似于python的os模块(class?)

简单地把字符串赋给一个变量,然后像执行一个程序那样“执行”变量

例如

set myvar=ECHO Hello, World! %myvar% 

使用set /p命令来提示输入。 该命令还显示一条消息。 例:

 @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% 

最简单的方法是使用set /p来提示输入命令,为结果设置一个环境变量,然后简单地扩展环境变量,操作系统会尝试执行它作为命令。

 SET /P COMMAND=Command: %COMMAND% 

你可以使用批处理循环,这在我的命令提示符下工作,但不是电源外壳:

 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