バッチファイル(.bat)を使用してPowerShellスクリプトを実行する


2

現在、これはVMware vSphere PowerCLIコマンドプロンプトを起動するための私のパスです。バッチファイルを使用して、sample.ps1スクリプトを自動的に実行したいと思います。sample.ps1をこのパスに組み込み、バッチファイルを作成するにはどうすればよいですか?

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe 
 -psc "C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -noe -c 
 ". \"C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1\""

回答:


2

あなたがしたいのは、それが呼び出すコマンドの終わりを置き換えて、それをInitialize-PowerCLIEnvironment.ps1sample.ps1ファイルへのパスに置き換えることです。

ほぼ確実に、サンプルファイルの最初の行を元の参照にしInitialize-PowerCLIEnvironment.ps1て、初期化コード(おそらく関数/コマンドレット定義)がそれに依存するコードの前に実行されるようにする必要があります。

たとえば、sample.ps1ファイルの内容は次のようになります。

# source vSphere PowerCLI Environment first
. "C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1"
# custom code follows
$me = "Hello, vSphere and PowerCLI!!!"

1
echo off

Title,Sample Script &color 9e

for /f "usebackq delims=$" %%a in (`cd`) do (
  set SCRIPTDIR=%%a
)

(Set ScriptFile=%SCRIPTDIR%\Sample.ps1)

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -psc "C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -c ". \"C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1\";%ScriptFile%"

これは質問に答える可能性がありますが、その理由を説明することができれば、より良い答えになります。
DavidPostill
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.