簡體   English   中英

PowerShell V6 命令調用在腳本中不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM