2017-06-28 3 views
0

ファイルをコピーする前に、ファイルをコピーする前に、スクリプト内の特定の関数に関数呼び出しをコメントアウトしたいと考えています。どのように私はこれを動的に達成できますか?PowerShellの実行時に関数呼び出しをコメントまたは削除する

理想的には、その関数を定義するすべてのコードとその関数へのすべての呼び出しを出力ファイルで削除したいと考えています。

どちらか、それとも私たちがc##ifで持っているものと似ていますか?

それでは、これは上記の例では、私の.ps1というファイル

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

    ##.. do something 

    return $result 
} 

# ... some code ... 

$retVal = TestFunction 

# ... more code .. 

で言わせて、私は/コメントに$retVal = TestFunction行を削除します。さらに、私は呼び出しと一緒に関数全体の定義を削除したい。

おかげ サンジャイ

+1

これはデバッグ用の場合、PowerShellにはデバッグ機能が組み込まれています。詳細については、ヘルプトピック 'about_Debuggers'を読んでください。 –

+0

これを指摘してくれてありがとう、ビル、私はこれを見ていきます! –

答えて

0

あなたはテキストファイルとしてスクリプトを処理し、それはあなたが必要な変更を行う、Get-Contentを使用して読み込み、別のスクリプトを持つことができます。

もっと良い解決策は、すべての関数定義を含み、メインスクリプトによってインポートされるa PowerShell module fileを使用することです。

コピー/ペーストプロセスの一部としてスクリプトを編集すると、悪い習慣として私を襲ってしまいます。

+0

答えてくれてありがとうgmsOulman!私はGet-Contentの使用を検討しましたが、それらの関数呼び出しのすべての発生を参照したいと思っています。それらは異なるパラメータセットを持つことができるので、テキストを解析して正規表現を使用してそれらの参照を見つけ出すのが私のopnion 。これは、私が別のフォルダにファイルを移動している場所を作成しているビルドスクリプトの一部で、そのファイルを移動する前に、私は他のものの中でいくつかの関数呼び出しを削除したい。 –

関連する問題