如何排除powershell脚本文件从自删除,如果它删除文件的内容



我需要删除几个生成的文件。我创建了一个脚本:

Get-ChildItem -Recurse | Select-String "Generated by Terragrunt" -List | Select-Object Path | Remove-Item

问题当然是它在匹配自己的脚本,因此它删除了自己。

预防它最简单的方法是什么?我想有一个方法,是稳定的改变脚本名称和文件夹(它应该总是删除相对于它的位置,但不是它自己)。

您可以像这样获取当前脚本文件的名称:

$currentScriptFile = if ($PSCommandPath) { Split-Path $PSCommandPath -Leaf } else { Split-Path $MyInvocation.MyCommand.Definition -Leaf }

则使用as

Get-ChildItem -Recurse -File -Exclude $currentScriptFile

最新更新