Moin,
ich versuche mir gerade ein Powershell Skript zu basteln, welches mir im Windows Explorer in einem Ordner befindliche Dateien in Unterordner kopiert. Die Unterordner sollen nach dem "Authors" Attribut benannt sein.
Ich habe ein Skript gefunden, was jeden Datei in einen Ordner kopiert und den Ordner nach der Datei benennt: das klappt.
Und ich habe ein Skript, welches mir die Dateien und das Authors Attribut (falls vorhanden) auflistet.
Da ich aber ein totaler noob bin, bekomme ich die zwei Skripte nicht richtig zusammen.
Kann mir da jemand helfen oder vielleicht ein Programm nennen, welches diese Aufgabe schon erledigt?
Skript für das kopieren und erstellen eines Ordners:
$BasePath = "E:\Sorting"
$FilesGreaterThen = 1KB
$MoveAllFilesToRoot = $True
$AllFiles = Get-ChildItem -Path $BasePath -Recurse -File | Where-Object {$_.Length -Gt $FilesGreaterThen}
$AllFiles | ForEach-Object {
$File = ($.DirectoryName + "\" + $.Name)
If($MoveAllFilesToRoot) {
$Directory = ($BasePath + "\" + $_.BaseName)
} Else {
$Directory = ($.DirectoryName + "\" + $.BaseName)
}
New-Item -ItemType Directory -Force -Path $Directory
Move-Item -Path $File -Destination $Directory
If(-Not(Test-Path($_.DirectoryName + "\*"))) { #Delete source directory if empty
Remove-Item -Path $_.DirectoryName
}
}
Skript zum Auflisten:
$shell = New-Object -com shell.application
gci | select name,
@{N='Author';E={$shell.NameSpace(($.DirectoryName)).ParseName(($.Name)).ExtendedProperty("System.Author")}}
ich versuche mir gerade ein Powershell Skript zu basteln, welches mir im Windows Explorer in einem Ordner befindliche Dateien in Unterordner kopiert. Die Unterordner sollen nach dem "Authors" Attribut benannt sein.
Ich habe ein Skript gefunden, was jeden Datei in einen Ordner kopiert und den Ordner nach der Datei benennt: das klappt.
Und ich habe ein Skript, welches mir die Dateien und das Authors Attribut (falls vorhanden) auflistet.
Da ich aber ein totaler noob bin, bekomme ich die zwei Skripte nicht richtig zusammen.
Kann mir da jemand helfen oder vielleicht ein Programm nennen, welches diese Aufgabe schon erledigt?
Skript für das kopieren und erstellen eines Ordners:
$BasePath = "E:\Sorting"
$FilesGreaterThen = 1KB
$MoveAllFilesToRoot = $True
$AllFiles = Get-ChildItem -Path $BasePath -Recurse -File | Where-Object {$_.Length -Gt $FilesGreaterThen}
$AllFiles | ForEach-Object {
$File = ($.DirectoryName + "\" + $.Name)
If($MoveAllFilesToRoot) {
$Directory = ($BasePath + "\" + $_.BaseName)
} Else {
$Directory = ($.DirectoryName + "\" + $.BaseName)
}
New-Item -ItemType Directory -Force -Path $Directory
Move-Item -Path $File -Destination $Directory
If(-Not(Test-Path($_.DirectoryName + "\*"))) { #Delete source directory if empty
Remove-Item -Path $_.DirectoryName
}
}
Skript zum Auflisten:
$shell = New-Object -com shell.application
gci | select name,
@{N='Author';E={$shell.NameSpace(($.DirectoryName)).ParseName(($.Name)).ExtendedProperty("System.Author")}}