none
Probleme mit Dateibezeichnung, string und leer zeichen RRS feed

  • 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.ttf

    kuchenblech.oft
    kuchenblech italic.oft
    kuchenblech was auch immer.otf

    nun 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
    Donnerstag, 19. September 2019 13:48

Alle Antworten

  • Dein Problem ist, dass der Schriftname  nicht mit dem Dateinamen identisch sein muss.
    Allerdings können Schriften nur im Windows-Fontordner verwendet werden. Was willst du da mit einem anderen Schriftordner?
    Donnerstag, 19. September 2019 15:16
  • das ist mein Schriftarchiv habe über die jahre einiges zusammengetragen
    Donnerstag, 19. September 2019 15:59
  • Du entfernst per Substring die letzten 4 Stellen, nämlich die Dateiendung mit dem Punkt.
    https://ss64.com/ps/substring.html

    Dann 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.

    Donnerstag, 19. September 2019 16:39
  • 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

    **************************************************************************

    Donnerstag, 19. September 2019 16:40