在PowerShell中运行时注释或删除函数调用
我正在将文件从源复制到目标,在复制文件之前,我想注释掉脚本中特定函数的函数调用。如何动态地实现这一点 理想情况下,我希望删除输出文件中定义该函数的所有代码以及对该函数的所有调用 或者是这样,或者是类似于我们在c###if Debug中的东西 假设这是我的.ps1文件在PowerShell中运行时注释或删除函数调用,powershell,runtime,function-calls,Powershell,Runtime,Function Calls,我正在将文件从源复制到目标,在复制文件之前,我想注释掉脚本中特定函数的函数调用。如何动态地实现这一点 理想情况下,我希望删除输出文件中定义该函数的所有代码以及对该函数的所有调用 或者是这样,或者是类似于我们在c###if Debug中的东西 假设这是我的.ps1文件 Function Testfunction($param1){ $result = $null Write-Host "This is test function" ##.. do something r
Function Testfunction($param1){
$result = $null
Write-Host "This is test function"
##.. do something
return $result
}
# ... some code ...
$retVal = TestFunction
# ... more code ..
在上面的示例中,我想删除/comment$retVal=TestFunction
行。更好的是,我想删除整个函数的定义以及调用
谢谢
Sanjay您可以将脚本视为文本文件,并有一个单独的脚本,使用
Get Content
读取脚本,进行所需的更改
更好的解决方案是使用包含所有函数定义并由主脚本导入的函数
作为复制/粘贴过程的一部分编辑脚本对我来说是一种糟糕的做法。如果这是为了调试,PowerShell内置了调试功能。阅读有关调试程序的帮助主题
,了解更多信息。感谢您指出这一点,比尔,我会看看这个!谢谢你的回答,灵魂人!我考虑过使用Get Content,但问题是我想获得对所有函数调用的引用,它们可能有不同的参数集,因此解析文本和使用正则表达式来找出这些引用在我的选项中听起来有点不稳定。这是我正在创建的构建脚本的一部分,我正在将文件移动到另一个文件夹,在移动该文件之前,我希望删除一些函数调用以及其他内容。