我遇到了一个非常简单的脚本问题,我想我只是缺少一些基本的东西。它检查某个设备是否插入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限制?
提前谢谢!
答案 0 :(得分:1)
您只是打印一个变量(实际上是返回它)。您需要使用Invoke-Expression
,Invoke-Command
或仅使用&
又称Call operator来调用它。