2015-05-03 132 views
1

我創建了一個小的aws.bat腳本,然後在PowerShell中導航到腳本目錄。如何從Windows Powershell執行腳本?

但是,當我鍵入aws然後我收到一條錯誤消息,它不執行腳本。我應該做什麼特別的事情?

這是我曾嘗試:

PS C:\G> .\aws.bat 

C:\G>$BucketName = "ab-user" 
'$BucketName' is not recognized as an internal or external command, 
operable program or batch file. 

的第一項和每個othre命令有一個類似的消息。

回答

2

你不能只是自己輸入名字,有或沒有文件擴展名,你首先必須告訴powershell如何處理它。

你可以稱它爲如下:

& .\aws.bat 

如果您需要在PowerShell中返回檢查bat文件工作的LastExitCode(0通常意味着它的工作,別的通常意味着它沒有),使用Start-Process如下:

$batch = Start-Process -FilePath .\aws.bat -Wait -passthru;$batch.ExitCode 

如果你想,當它是由PowerShell中運行要隱藏的批處理文件這樣做:

$batch = Start-Process -FilePath .\aws.bat -Wait -passthru -WindowStyle Hidden;$batch.ExitCode 
+0

您可以輸入'.ps1'文件的擴展名以及'PATHEXT'環境變量(缺省爲'.com; .exe; ;的.js; .jse;的.wsf; .wsh; .msc')。 – PetSerAl

+0

是的,但你必須告訴powershell如何處理它 - 即使在你路徑中的'.bat',最小的最小值也是以'.'作爲前綴,例如'。\ aws' –

+0

我嘗試了兩種解決方案,但是我收到消息說不能識別命令。但是,當我將它們直接鍵入Powershell窗口中時,它們都可以。 – Melina