如何使批处理文件作为命令运行字符串?

时间:2013-03-27 12:11:54

标签: windows batch-file cmd

我想创建一个批处理文件来绕过我的计算机上的一些cmd问题,但为此我需要能够获取String用户输入并将其作为命令运行。

基本上我想要做的是在批处理文件请求输入时键入命令,并让计算机运行该命令,类似于python的os模块(类?)

4 个答案:

答案 0 :(得分:32)

只需将字符串分配给变量,然后“执行”变量,就像它是程序一样

例如

set  myvar=ECHO Hello, World!
%myvar%

答案 1 :(得分:6)

使用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%

答案 2 :(得分:3)

最简单的是,您希望使用set /p来提示命令,为结果设置环境变量,然后只需自己展开环境变量,操作系统就会尝试将其作为命令执行。

SET /P COMMAND=Command:
%COMMAND%

答案 3 :(得分:0)

您可以使用批量循环,这在命令提示符下适用于我,但不适用于电源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