执行cmd命令"更改端口"来自一个变量

时间:2014-04-06 18:39:50

标签: powershell

我遇到了一个非常简单的脚本问题,我想我只是缺少一些基本的东西。它检查某个设备是否插入COM端口,如果找到它,则将其重新映射到COM1。

change port com1 /d
$ComNum = (change port) -match 'COM.+19h2kp0' -replace '^(COM\d+).+','$1'
$changeport = ("change port COM1=" + $ComNum)
$changeport

它似乎工作得很好,我得到的输出是

 change port COM1=COM4

问题是即使输出看起来很完美,命令也不会实际运行。从变量执行cmd命令是否存在Powershell限制?

提前谢谢!

1 个答案:

答案 0 :(得分:1)

您只是打印一个变量(实际上是返回它)。您需要使用Invoke-ExpressionInvoke-Command或仅使用&又称Call operator来调用它。