Soci (Soczó Zsolt) szakmai blogja

2008.08.12.

Elegáns Powershell script XML feldolgozásra

Filed under: PowerShell,Scripting,Szakmai élet,Visual Studio — Soczó Zsolt @ 22:39

Az itt látható példa azokat a C# kódfájlokat listázza ki, amelyek árván maradtak, azaz ott vannak a fájlrendszerben, de nincsenek benne egy csproj fájlban.
Az egész számomra azért érdekes, mert szerintem igen tömören és elegánsan parsolják az xml csproj fájlt Powershellel.
A lopás árnyékát el nem kerülve, de idemásolom a példát a fenti forrástól:

[source=’php’]
param([string]$csproj = $(throw ‘csproj file is required’))

$csproj = Resolve-Path $csproj
$dir = Split-Path $csproj

# get the files that are included in compilation
$xml = [xml](Get-Content $csproj)
$files_from_csproj = $xml.project.itemgroup |
%{ $_.Compile } |
%{ $_.Include } |
?{ $_ } |
%{ Join-Path $dir $_ } |
Sort-Object

# get the files from the dir
$files_from_dir = Get-ChildItem $dir -Recurse -Filter *.cs |
%{ $_.FullName } |
Sort-Object

Compare-Object $files_from_csproj $files_from_dir
[/source]

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress