2017年11月
      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) »