试图用变量编写非扩展字符串的 Powershell 语法问题,但让 Powershell 扩展并使用字符串变量

问题描述

我想从另一个程序调用它,类似于从 cmd 提示调用它。我想按原样编写它,就像触发警报时要调用的未扩展字符串一样,但让它在 powershell 运行空间内运行(触发警报时)并扩展 $date 的变量,$date 总是到目前为止我在语法上尝试过的都是空的。

我的语法有什么问题?

$omsaCommand = "omconfig system alertaction event=tempwarn execappath=`"Powershell.exe -NonInteractive -command `"$date = (Get-Date).ToShortDateString(); Set-Content -Path 'c:\omsaInfo\inventoryResults\temp.txt' -Value '$alertShortName - $date';`"`" ";
    
Invoke-Expression $omsaCommand;

解决方法

为此,我找不到允许压缩某些变量,解压缩其他变量并适合父应用程序框架的语法。我想出的解决方法是调用

execappath="Powershell.exe -NonInteractive -file C:\omsaInfo\createAlertFile.ps1 -alertName $alertShortName "

这将允许我运行多个命令而不必担心变量管理

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...