2013-07-24 2 views
0

J'ai un script powershell que j'utilise pour nettoyer une zone de construction avant de récupérer à nouveau les fichiers de SVN. Je veux améliorer la journalisation en gardant une trace de ce qui a été nettoyé.Pipeline Powershell à la fois fonction remove-item et call

 Get-ChildItem .\ _ 
    -Include bin,obj,Debug,ipch,Resources _ 
    -Exclude "*.png","*.bmp","*.jpg","*.htm*","*.xml","*.fl*","*.css" _ 
    -Recurse _ 
    | foreach ($_) { Remove-Item $_.fullname -Force -Recurse} 

Ce que je voudrais insérer ici est un certain type de Format-Table pour le processus de foreach pour obtenir la propriété fullname à la sortie de $ bldLog. J'ai une fonction qui formate un message pour le journal de construction avec un horodatage de date ainsi j'appelle juste WriteToLog $ msg -STATUS 'INFORMATION'

J'ai essayé de me creuser la tête pendant quelques jours pour obtenir à la fois writeToLog et obtenir Remove-Item dans un pipleLine mais sans succès. Est-ce qu'un tel processus est possible ou est-ce que j'oublie tout simplement le pipeline et je deviens oldschool?

Répondre

0

Est-ce que cela fonctionne?

Get-ChildItem .\ -Include bin,obj,Debug,ipch,Resources -Exclude "*.png","*.bmp","*.jpg","*.htm*","*.xml","*.fl*","*.css" -Recurse | foreach { Remove-Item $_.fullname -Force -Recurse; WriteToLog $msg -STATUS 'INFORMATION' } 
+0

En fait, une légère modification a fonctionné. WriteToLog $ _. Nom complet. J'ai oublié que je pourrais avoir plusieurs commandes sur une seule ligne avec le séparateur de point-virgule. Merci. –

Questions connexes