Powershell脚本中如何将字符串变量作为命令执行?

Powershell脚本内使用一个变量存储命令字符串。
如何才能将其作为命令,在脚本内执行呢?

阅读 13.1k
3 个回答

你从文本内容获取的是变量,变量可以做命令吗?这本身就是一个伪命题,不过强大的ps可以实现。
在那样之前,有两个更好的方案:
你可以调用文本中的内容,可以在脚本中预留变量空间,把读取出来的文本识别一下,加入流控制,就可以执行特定的程序。
或者,你用ps 将 你装有命令的文本文件 修改为.ps1 或.bat等调用执行,
引入wasp
先读取文本存在变量中,然后抓取窗口句柄,向ps窗体发送变量,再send-key 一个回车,不就实现了?

新手上路,请多包涵

iex命令,参数是字符串。是Invoke-Expression的别名。
另外就是那个链接里面的&,后面的参数是多个字符串,命令参数列表。
其接收两个参数,第一个是命令,第二个是参数列表(或者多个字符串)。

# &可以替换为. 更接近shell,更易理解。  
$cmd = 'gcm'
$params = ('ls','pwd','pushd')
. $cmd $params
iex "gcm 'ls','cd','pwd'"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进