2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
無料ブログはココログ

« PowerShellの.PS1ファイルを起動するバッチファイル(その4) | トップページ | 最小化や非表示で実行されるPowerShellスクリプトファイル(.JS) »

2007年8月25日 (土)

PowerShellの.PS1ファイルを起動するバッチファイル(その5)

更に、標準入力のパイプ、リダイレクションに対応。

PS5.CMD PS1ファイル [引数...] < ファイル

コマンド | PS5.CMD PS1ファイル [引数...]

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
(SET args=%*)
(SET args=!args:*%1=!)
(SET arg0=%~f1)
ECHO ON
powershell.exe -command "$stdin=@()+$input;$nl=[char]13+[char]10;if($stdin.length){$stdin=[String]::Join($nl,$stdin)}else{$stdin=[System.Console]::In.ReadToEnd()}$s=cat $env:arg0;$s='function main{'+[String]::Join($nl,$s)+$nl+'}$stdin|main'+$env:args;iex $s"

« PowerShellの.PS1ファイルを起動するバッチファイル(その4) | トップページ | 最小化や非表示で実行されるPowerShellスクリプトファイル(.JS) »