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

9nvpjoqh  于 2023-05-08  发布在  Windows
关注(0)|答案(5)|浏览(313)

我想创建一个批处理文件来规避计算机上的一些cmd问题,但为此我需要能够接受String用户输入并将其作为命令运行。
基本上,我希望能够做的是在批处理文件要求输入时键入命令,并让计算机运行该命令,类似于python的os模块(类?)

omtl5h9j

omtl5h9j1#

只需将字符串赋给一个变量,然后像执行程序一样“执行”该变量
例如

set  myvar=ECHO Hello, World!
%myvar%
q9rjltbz

q9rjltbz2#

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

wsewodh23#

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

SET /P COMMAND=Command:
%COMMAND%
xa9qqrwz

xa9qqrwz4#

你可以使用batch for循环,这在命令提示符下对我有用,但在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
xvw2m8pv

xvw2m8pv5#

这是一个脚本运行你输入的任何东西这是你的意思吗?

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

相关问题