【发布时间】:2023-04-01 12:04:01
【问题描述】:
我可以通过以下场景表达我的需求:编写一个函数,该函数接受要作为本机命令运行的字符串。
这个想法并不太牵强:如果您正在与公司其他地方的其他命令行实用程序交互,这些实用程序为您提供逐字运行的命令。因为您不控制命令,所以您需要接受任何有效命令作为输入。这些是我无法轻易克服的主要问题:
-
该命令可能会执行一个位于包含空格的路径中的程序:
$command = '"C:\Program Files\TheProg\Runit.exe" Hello'; -
该命令可能包含带有空格的参数:
$command = 'echo "hello world!"'; -
命令可能有单引号和双引号:
$command = "echo `"it`'s`"";
有没有任何干净的方法来完成这个?我只能设计出奢华而丑陋的解决方法,但对于脚本语言,我觉得这应该非常简单。
【问题讨论】:
标签: scripting powershell