Weblog @ rebex.cz

Weblogy na webu Rebexu
Welcome to Weblog @ rebex.cz Sign in | Help
in Search

VasekB

Jak spustit PowerShell script s argumenty z CommandLine

Po spuštění Script.cmd v DOS-CMD načte Script.ps1 datový soubor Data.txt a vrátí jako výstup tři hodnoty oddělené středníkem
(jméno parsovaného souboru;počet řádek s 'Process failed';počet řádek s 'Process success'),
které jsou načteny FOR/F cyklem a vypsány do CommandLine jako hodnoty oddělené čárkami.

----- Script.cmd -----

set DataFile=.\Data.txt 
for /f "tokens=1,2,3 delims=;" %%a in ('powershell.exe -NoLogo -NoProfile -NonInteractive -Command "& '.\Script.ps1'" """%DataFile%"""') do (echo %%a,y%%b,%%c) 

----- Script.cmd -----

 

----- Script.ps1 -----

Function Get-Data { 
param([string]$File) 
  $FileContent = Get-Content $File 
  $Failed = ($FileContent | Select-String 'Process failed' | Measure-Object -Line).Lines 
  $Success= ($FileContent | Select-String 'Process success' | Measure-Object -Line).Lines 
  $OutPut = $($File+';'+$Success+';'+$Failed).Trim(' ') 
  return $OutPut 
} 
Get-Data -File $args[0]

----- Script.ps1 -----

 

----- Data.txt ----- 
Data
Process failed 
Data 
Process success

----- Data.txt -----

Published 19. května 2010 18:01 by vasekb
Filed under: ,

Comments

No Comments
Anonymous comments are disabled
Powered by Community Server (Personal Edition), by Telligent Systems