2017-06-28 1 views
0

Je copie des fichiers de la source vers la destination et avant de copier les fichiers, je souhaite commenter les appels de fonction à une fonction spécifique de mon script. Comment puis-je y parvenir dynamiquement?Commenter ou supprimer des appels de fonction lors de l'exécution dans PowerShell

Idéalement, je veux supprimer tout le code qui définit cette fonction et tous les appels à cette fonction dans mon fichier de sortie.

Soit cela, ou quelque chose de similaire que nous avons dans C# #if Debug?

Alors disons que ceci est mon fichier .ps1

Function Testfunction($param1){ 
    $result = $null 
    Write-Host "This is test function" 

    ##.. do something 

    return $result 
} 

# ... some code ... 

$retVal = TestFunction 

# ... more code .. 

Dans l'exemple ci-dessus, je veux supprimer/commentaire $retVal = TestFunction ligne. Encore mieux je veux supprimer la définition de la fonction entière avec l'appel.

Merci Sanjay

+1

Si cela est à des fins de débogage, PowerShell dispose de fonctions de débogage intégrées. Lisez la rubrique d'aide 'about_Debuggers' pour plus d'informations. –

+0

merci de souligner cela Bill, je vais jeter un oeil à cela! –

Répondre

0

Vous pourriez traiter le script dans un fichier texte, et un script séparé qui se lit à l'aide Get-Content, ce qui rend les changements dont vous avez besoin.

Une meilleure solution serait d'utiliser a PowerShell module file qui contient toutes vos définitions de fonctions, et est importé par votre script principal. L'édition d'un script dans le cadre d'un processus de copier/coller me semble être une mauvaise pratique.

+0

Merci pour la réponse gmsOulman! J'ai envisagé d'utiliser Get-Content mais la chose est que je veux faire référence à toutes les occurrences de ces appels de fonctions et qu'ils puissent avoir différents jeux de paramètres afin d'analyser le texte et d'utiliser une expression régulière pour trouver ces références. . Cela fait partie du script de construction que je crée où je déplace des fichiers vers un dossier différent et avant que je ne bouge ce (s) fichier (s), je veux supprimer un appel de fonction parmi d'autres choses. –