我需要删除几个生成的文件。我创建了一个脚本:
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