我正在準備一個腳本,它需要使用與腳本相同的文件夾中的一些圖像。圖像將顯示在WinForms GUI上。如何在Powershell中設置FromFile位置?
$imgred = [System.Drawing.Image]::FromFile("red.png")
當我通過單擊手動從文件夾中運行ps1腳本時,它會加載圖像並顯示它們。不幸的是,我不記得我是如何設置它的,但儘可能地,它只是用於ps1文件的默認程序。 當我從cmd文件運行腳本(以隱藏cmd窗口)時,它也會加載它們。
但是,當我用Powershell IDE打開並運行它時,出現錯誤,並且在我的GUI上沒有顯示任何圖標。 當我用Powershell打開它也無法加載它們。
的運行模式,我能找到的唯一區別是:
$scriptPath = split-path -parent $MyInvocation.MyCommand.Definition
$scriptPath #always same, the location of script
(Get-Location).Path #scriptlocation when icons loaded, system32 folder when unsuccessful load
相同的行爲做CD $ SCRIPTPATH的時候,所以在當前文件夾是最有可能不是有罪的。
我知道我可以在每個文件讀取行(FromFile)中寫入$ scriptPath/red.png,但我想要的是將其定義一次 - FromFile的默認位置 - 然後只需簡單的文件名工作而不管我運行它的方式。
要更改什麼以便默認的文件讀取路徑與我的腳本位置相同?
很好的解釋! –
非常好!謝謝,這一行做到了: [System.IO.Directory] :: SetCurrentDirectory($ scriptPath) – uldics