Powershell rekursiv Ordner durchsuchen
Des öfteren muss ich mehrere Dateien nach dem gleichen Schema in Ordnern bearbeiten. Ab einer bestimmten Anzahl geht das mit einem Script deutlich einfacher.
In Windows benutze ich hierfür gerne die Powershell. Deshalb habe ich hier meine Basis Funktion die sich selbst immer wieder aufruft und die bearbeitet werden kann um nach bestimmten Dateien zu suchen und diese zu bearbeiten.
<#
.SYNOPSIS
This is an example to walk through directories and filter for files.
To find target file, add addtional else if for $Item.
.PARAMETER Path
Path to recursive file operation.
#>
Function FileRecursive
{
PARAM(
[PARAMETER(Mandatory)]
$Path
)
$Items = Get-ChildItem $Path
foreach($Item in $Items)
{
# Ignore git directory
if($Item.Name -eq ".git")
{
continue
}
# Ignore this script if it is within this directories
elseif($PSCommandPath -eq $Item.FullName)
{
continue
}
# Call recursive if it is container
elseif($Item.PSIsContainer)
{
FileRecursive ($Path + "/" + $Item.Name)
}
else
{
Write-Host ($Path + "/" + $Item.Name)
}
}
}
Hier wird die Funktion als Beispiel aufgerufen.
# Example call on current directory
FileRecursive .\