[英]How to run powershell script from .ps1 file?
我正在嘗試自動執行一個簡單的 PS 腳本(刪除某個.txt 文件)。 顯然,我是 powershell 的新手 :) 當我在 shell 中運行代碼時,它完美無缺。 但是當我將代碼保存為 a.ps1 並雙擊它(或遠程執行)時,它只會彈出一個 window 並且什么都不做。
我嘗試將代碼保存為 .bat 文件並在 Windows 命令行上執行它,但它的行為相同:通過直接在提示符下編碼工作,但不能通過執行 .bat 文件工作。
$Excel = New-Object -ComObject Excel.Application
$Workbook = $Excel.Workbooks.Open('H:\codes\test1.xlsm')
$workSheet = $Workbook.Sheets.Item(2)
$str_name = $WorkSheet.Cells.Item(2,1).Text
Remove-Item -Path "H:\text files\$str_name.txt" -Force
我希望它可以通過雙擊它來工作,就像在 shell 或命令行中運行一樣,但我不知道為什么它沒有。
創建一個指向 your.ps1 文件的批處理文件。 您可能需要以提升的權限運行批處理文件,具體取決於您的訪問級別(登錄帳戶將用於執行)。
例如:
Powershell.exe -executionpolicy remotesigned -File "C:\Path\script.ps1"
如果這仍然不起作用,請通過 CMD 執行您的批處理文件(復制路徑,用引號括起來,到 CMD 中)並讓我知道響應。
有幾種方法可以運行 a.ps1 文件。 最簡單的方法是右鍵單擊該文件並“使用 PowerShell 運行”。
正如其他人所建議的那樣,您還可以在命令提示符下或從 BATCH 或 CMD 文件中使用 powershell.exe 運行 your.ps1 文件。 如下:
powershell.exe -File C:\Script.ps1
如果您仍然遇到問題,則可能是執行策略。 為此,只需將 -ExecutionPolicy Bypass 添加到您的命令中,如下所示:
powershell.exe -File C:\Script.ps1 -ExecutionPolicy Bypass
要更改您的執行策略,您可以使用:
Set-ExecutionPolicy
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.