从 powershell 脚本运行 cmd 命令

Posted

技术标签:

【中文标题】从 powershell 脚本运行 cmd 命令【英文标题】:run a cmd command from powershell script 【发布时间】:2021-09-13 23:29:24 【问题描述】:

我正在尝试在 PowerShell 脚本的后期运行一个名为 Graphviz 的程序,我必须收集并创建员工信息以制作组织结构图

script located here

在 windows 命令提示符 (cmd) 中会像这样执行

从 DOT 文件创建 SVG:

dot -Tsvg -o path/to/out_file.svg path/to/file.dot

我可能想多了,但我不知道如何在 PowerShell 中使用参数执行程序

提前谢谢你

(欢迎使用我的脚本中的 cmets)

【问题讨论】:

【参考方案1】:

在脚本中添加双引号对我有用:

cmd.exe \c "C:\Program Files\Graphviz\bin\dot.exe" -Tdot abc.gv

【讨论】:

可以使用变量吗?比如 cmd.exe /c $dotpath -Tdot $outputpath【参考方案2】:

我发现了

    Invoke-Expression -Command "dot -rest of command here"

有效。

此外,在 cmets 中解决 Crash893 的问题,变量也可以这样使用

    Invoke-Expression -Command "dot -anoption $inputfile $outfile"

【讨论】:

以上是关于从 powershell 脚本运行 cmd 命令的主要内容,如果未能解决你的问题,请参考以下文章

从CMD文件运行PowerShell脚本 - 参数类型出错

使用参数从 Powershell 脚本运行 .bat 文件

powershell 使PowerShell脚本可以从任何地方运行(即CMD.EXE,Explorer,Run Dialog等)

powershell 从PowerShell运行CMD中的命令

PowerShell 说“在这个系统上禁用了脚本的执行”。

哪些注册表命令允许我从包含撇号的文件夹的右键单击上下文菜单中以管理员身份运行 PowerShell 5 / CMD?