Fragensteller
Probleme mit Dateibezeichnung, string und leer zeichen

Frage
-
Hallo,
ich habe eine große schriftensammlung zum teil liegen die alle unsortiert in einem ordner.
Beispiel:
arial.ttf
arial cursiv.ttf
arial cursiv bold.ttfkuchenblech.oft
kuchenblech italic.oft
kuchenblech was auch immer.otfnun sollen Ordner angelegt werden die nur den Schriftnamen beinhalten also arial usw. und die schriften dorthin verschoben werden.
irgenwie kriege ich das nicht gebacken vielleicht kann mir da jemand helfen.
hier mein Anfangsscript:
##########################################################
$source = "E:\Testordner"
$dateien = Get-ChildItem $source -Recurse -File
echo $dateien
$cutter = $dateien.Split(" ")[0]
echo $cutter##########################################################
Beste Grüsse
Bremser40
- Bearbeitet Bremser40 Donnerstag, 19. September 2019 15:14
Alle Antworten
-
Du entfernst per Substring die letzten 4 Stellen, nämlich die Dateiendung mit dem Punkt.
https://ss64.com/ps/substring.htmlDann machst du den Split mit Blank.
Damit erhältst du im Array-Index 0 den Namen des geplanten Verzeichnisses.
Diese legst du an und verschiebst nun den Ursprungsnamen dorthin. -
Hat sich erledigt habe es selber hinbekommen
Grüsse Bremser40
hier das fertige Konstruct:
**************************************************************************
$Datei = "*.bat", "#*"
$ordner = 'E:\Fontarchiv1'
gci $ordner -Exclude $Datei | %{
$dest = "$ordner\$(($_.BaseName).Split(" ")[0])"
if(!(Test-Path $dest)){md $dest | out-null}
$_ | move-item -Destination $dest -Force
}
gci $ordner -Exclude $Datei**************************************************************************