[英]PowerShell V6 command invocation does not work in script
我運行這個命令腳本:
$hm = "$Env:USERPROFILE" $eclipse_path = "$hm\eclipse\committers-2019-09\eclipse\eclipse.exe" $sp = { "$eclipse_path -data C:\SharedData\Projects\Tutorial &" Write-Host "Eclipse starting" } Invoke-Command -ScriptBlock $sp
結果如下:
>>> bin/dev.ps1 C:\Users\jgoss\eclipse\committers-2019-09\eclipse\eclipse.exe -data C:\SharedData\Projects\Tutorial & Eclipse starting >>>
似乎沒有執行主命令,但執行了 echo 命令。 如果我在 Windows 終端中獨立運行主命令,如圖所示,該命令將按需要運行:
>>> C:\Users\jgoss\eclipse\committers-2019-09\eclipse\eclipse.exe -data C:\SharedData\Projects\Tutorial &
我只是在腳本塊中剪切並粘貼了第一個命令的內容,它可以按我的意願工作。 eclipse.exe 程序在后台啟動。 為什么這在腳本塊中不起作用?
這將使它工作,但有更簡單的方法來做到這一點。 我以記事本為例,任何人都可以復制。
$hm = "c:\windows\system32"
$eclipse_path = "$hm\notepad.exe"
$sp = {
& $eclipse_path c:\users\js\foo\note.ps1
Write-Host "Eclipse starting" }
Invoke-Command -ScriptBlock $sp
例如,在您的 $profile 中,您可以將 eclipse 文件夾添加到您的路徑中:
$eclipse_path = "$home\eclipse\committers-2019-09\eclipse"
$env:path += $eclipse_path
然后你可以簡單地運行 eclipse 和任何文件名。 您可以使用 control-r 搜索上次運行命令的歷史記錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.