我正在做一个没有足够时间重写用 HTA 编写的项目的项目。我需要使用 cmd.exe /C 调用 HTA(因此它在制定后关闭窗口,生成一个闪烁的 hta 框)。我能够以调用表达式的方式执行此操作,但我试图将其作为混合变量的开始工作。
$RunHTA = {
param(
[string]$FP, ### filepath to hta
[string]$output) ### output
Invoke-Expression -command 'cmd.exe /C $FP /H:`"$output`"' ### this line works alone. the /H is the save report feature and the double quotes are needed by the hta
}
$fp="C:\Path\To\HTA\file.hta"
$output = "C:\Output\path"
$j = Start-job $RunHTA -ArgumentList $FP,$output
$j | Receive-job
The filename, directory name, or volume label syntax is incorrect.
+ CategoryInfo : NotSpecified: (The filename, d...x is incorrect.:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
我已经进行了一些测试,并且变量正在正确传递。使用返回查看完整的变量。
看起来很简单,可能应该可以轻松工作。
有任何想法吗?