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

问题描述 投票:0回答:5

我想制作一个批处理文件来规避我计算机上的一些 cmd 问题,但为此我需要能够接受 String 用户输入并将其作为命令运行。

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

windows batch-file cmd
5个回答
54
投票

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

例如

set  myvar=ECHO Hello, World!
%myvar%

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%

4
投票

最简单的,你想使用

set /p
提示输入命令,为结果设置环境变量,然后简单地自行扩展环境变量,操作系统将尝试将其作为命令执行。

SET /P COMMAND=Command:
%COMMAND%

0
投票

您可以使用 batch for loop,这在命令提示符下对我有用,但不适用于 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

-1
投票

这是一个脚本,可以运行您输入的任何内容,这就是您的意思吗?

@echo off
set /p input=Command: 
%input% >>run.txt
ren run.txt run.bat
start /min run.bat
taskkill /fi "windowtitle eq c:\Windows\SYSTEM32\cmd.exe"
© www.soinside.com 2019 - 2024. All rights reserved.