我想調用一個簡單的Powershell腳本文件,該文件在ps腳本失敗或從批處理文件分別傳遞時應返回0或1。根據回報值,我想繼續下去或退出。如何從批處理文件中調用Powershell文件
下面說明了什麼我已經嘗試了:
的startup.bat: -
@ECHO OFF
SET x = powershell C:\Users\saravind\Desktop\pingping.ps1
if "%x%" == 1 then (
doSomething1
ECHO Ran project 1
)
pingping.ps1: -
$someIP = '192.168.173.299'
$result = $true
try { Test-Connection $someIP -Source localhost -ErrorAction Stop }
catch { $result = $false }
我想要實現的是,在執行pingping.ps1時,如果它可以成功ping通'192.168.173.299',它應該返回一些值,比如說1給它被調用的批處理文件。如果ping失敗,它應該返回0,以便批處理文件不會繼續處理'doSomething' 雖然ping不通,但它會繼續處理doSomething與我的代碼。我的代碼有什麼問題。
在此先感謝。
這是一個重複的問題。 檢查一:http://stackoverflow.com/questions/6180572/execute-powershell-script-inside-batch-file – Rami
我認爲這不是重複的。在那裏他說ps1文件確實存在。而他只是試着執行一次powershell聲明。 – a4aravind
看看這裏:http://stackoverflow.com/questions/932291/calling-powershell-cmdlets-from-windows-batch-file – Rami