我有這個簡單的 PowerShell 腳本:
Copy-Item -path ('\\PC1\Images\' (Get-ChildItem -Path '\\PC1\Images' -Attributes !Directory *.dat | Sort-Object -Descending -Property LastWriteTime | Select-Object -first 1)) 'C:\Temp\PC1\screen.jpg' | Start-Process 'C:\Program Files\Google\Chrome\Application\chrome.exe' -ArgumentList 'file:///C:/Temp/PC1/screen.jpg'
如果我從 PowerShell 視窗運行此命令,它作業正常。如果我將它保存為 .ps1 檔案并從 Windows 資源管理器中運行它,則不會發生任何事情(Chrome 不會打開所需的 URL)。
可以做些什么來允許從某個快捷方式執行此腳本?(我想在我的 Windows 任務欄中添加一個快捷方式/圖示以便快速訪問)。
uj5u.com熱心網友回復:
你有兩個選擇:
要么:使
.ps1檔案本身- 默認情況下,從檔案資源管理器/桌面/任務欄打開(雙擊)時打開以進行編輯-直接可執行:看到這個答案。
重要提示:這樣做將使您拖動到任務欄的所有
.ps1檔案都與單個圖示相關聯,對于 PowerShell 本身,拖動的檔案將固定到該圖示;也就是說,要運行這樣的檔案,您必須通過 PowerShell 圖示的快捷選單來執行此操作。
或者:對于給定
.ps1.lnk.cmd的檔案,通過 PowerShell 的 CLI(powershell.exe對于 Windows PowerShell,pwsh.exe對于 PowerShell (Core) 7 )創建一個伴隨快捷方式檔案( ) 或批處理檔案( )以啟動它注意:一旦您創建了一個如下所述的伴隨檔案,將其拖到任務欄將給它自己的任務欄圖示。
批處理檔案方法:
在與您的 相同的檔案夾中創建一個伴隨批處理檔案
.ps1,具有相同的基本檔案名;例如,foo.cmd旁邊foo.ps1將以下內容添加到
.cmd檔案中(根據需要添加-NoProfile和-ExecutionPolicy Bypass):@powershell.exe -NoExit -File "%~dpn0.ps1" %*
快捷方式檔案方法:
有關如何以互動方式創建此類快捷方式檔案的資訊,請參閱此答案。
有關如何以編程方式創建快捷方式檔案的資訊,請參閱此答案。
uj5u.com熱心網友回復:
在 Powershell 中運行下一個命令的輸出是什么?
Get-ExecutionPolicy
如果您得到的輸出是“受限”,您可以嘗試創建一個 .cmd 檔案,該檔案位于與 .ps1 檔案相同的檔案夾中,其內容如下:
PowerShell.exe -ExecutionPolicy Bypass -File "your_ps1_name.ps1"
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/467592.html
標籤:电源外壳
