none
Mit Powershell nach bestimmten Dateityp in einem Verzeichnis suchen RRS feed

  • Frage

  • Hallo zusammen,

    ich bin Powershell-Newbe und suche nach einer Möglichkeit ein Verzeichnis nach einem bestimmten Dateityp zu durchsuchen. Das Ergebnis sollte in ein csv ausgegeben werden und den vollständigen Pfad zur jeweiligen Datei enthalten.

    Kann mir da jemand einen Tipp geben?

    Gruß
    Miranda

    Dienstag, 27. Mai 2014 09:19

Antworten

  • Hallo,

    und wenn Du nur das eingibst

    Get-ChildItem e:\test\*.txt -Recurse

    oder

    Get-ChildItem e:\test -Recurse

    werden keine Dateien gelistet?

    Man koennte noch das testen

    Get-ChildItem -Path E:\test -Include *.txt -Recurse | Select-Object Fullname | Export-Csv e:\test.csv -NoTypeInformation


    PS E:\> Get-ChildItem e:\test -Recurse
    
    
        Verzeichnis: E:\test
    
    
    Mode                LastWriteTime     Length Name
    ----                -------------     ------ ----
    d----        27.05.2014     12:29            b
    -a---        27.05.2014     12:29          0 a.txt
    -a---        27.05.2014     12:29          0 a.xxt
    
    
        Verzeichnis: E:\test\b
    
    
    Mode                LastWriteTime     Length Name
    ----                -------------     ------ ----
    -a---        27.05.2014     12:29          0 a.txt
    -a---        27.05.2014     12:29          0 a.xxt
    
    
    PS E:\> Get-ChildItem -Path E:\test -Include *.txt -Recurse | Select-Object Fullname | Export-Csv e:\test.csv -NoTypeInf
    ormation
    PS E:\> type e:\test.csv
    "FullName"
    "E:\test\b\a.txt"
    "E:\test\a.txt"
    PS E:\>


    und noch ein wenig anderer Weg
    Get-ChildItem -Path E:\test -Recurse | Where-Object {$_.Extension -eq ".txt"} | Select-Object FullName | Export-Csv E:\test.csv -NoTypeInformation

    Beste Gruesse
    brima
    • Bearbeitet brima Dienstag, 27. Mai 2014 10:51
    • Als Antwort vorgeschlagen Peter Kriegel Mittwoch, 28. Mai 2014 05:39
    • Als Antwort markiert Alex Pitulice Freitag, 30. Mai 2014 11:03
    Dienstag, 27. Mai 2014 10:34

Alle Antworten

  • Hallo De La Hoya Cardinal , :-)

    z.B.: so

    Get-ChildItem e:\scripte\*.ps1 | Select-Object Fullname | Export-Csv zzzz.csv -NoTypeInformation

    Beste Gruesse
    brima

    Dienstag, 27. Mai 2014 09:37
  • :-) danke für die Antwort brima!

    ich hätte vielleicht dazusagen sollen "in einem bestimmten verzeichnis und allen unterverzeichnissen"...

    Gruß

    Dienstag, 27. Mai 2014 09:50
  • das geht natuerlich auch

    Get-ChildItem e:\scripte\*.ps1 -Recurse | Select-Object Fullname | Export-Csv zzzz.csv -NoTypeInformation

    Dienstag, 27. Mai 2014 09:54
  • mmh...bekomme nur eine leere csv
    Dienstag, 27. Mai 2014 09:58
  • Hallo,

    das sollte aber Funktionieren zumindest bei mir, natuerlich musst Du den Pfad e:\scripte\ und die Dateiendung entpsrechend *.ps1 anpassen und auf korrekte schreibweise achten, wenn ich z.B.: in meinem Beispiel aus *.ps1 *.ps2 mache erhalte ich auch eine leere Datei, was aber daran liegt das es keine Dateien mit der Endung *.ps2 gibt.

    Beste Gruesse
    brima

    Dienstag, 27. Mai 2014 10:16
  • hab bei mir testweise ein verzeichnis unter e:\ namens "test" angelegt und dort unterordner mit txt-Files.

    Die Syntax lautet: Get-ChildItem e:\test\*.txt -Recurse | Select-Object Fullname | Export-Csv e:\test.csv -NoTypeInformation

    und die csv ist leer. Powershell läuft als Administrator

    Dienstag, 27. Mai 2014 10:19
  • Hallo,

    und wenn Du nur das eingibst

    Get-ChildItem e:\test\*.txt -Recurse

    oder

    Get-ChildItem e:\test -Recurse

    werden keine Dateien gelistet?

    Man koennte noch das testen

    Get-ChildItem -Path E:\test -Include *.txt -Recurse | Select-Object Fullname | Export-Csv e:\test.csv -NoTypeInformation


    PS E:\> Get-ChildItem e:\test -Recurse
    
    
        Verzeichnis: E:\test
    
    
    Mode                LastWriteTime     Length Name
    ----                -------------     ------ ----
    d----        27.05.2014     12:29            b
    -a---        27.05.2014     12:29          0 a.txt
    -a---        27.05.2014     12:29          0 a.xxt
    
    
        Verzeichnis: E:\test\b
    
    
    Mode                LastWriteTime     Length Name
    ----                -------------     ------ ----
    -a---        27.05.2014     12:29          0 a.txt
    -a---        27.05.2014     12:29          0 a.xxt
    
    
    PS E:\> Get-ChildItem -Path E:\test -Include *.txt -Recurse | Select-Object Fullname | Export-Csv e:\test.csv -NoTypeInf
    ormation
    PS E:\> type e:\test.csv
    "FullName"
    "E:\test\b\a.txt"
    "E:\test\a.txt"
    PS E:\>


    und noch ein wenig anderer Weg
    Get-ChildItem -Path E:\test -Recurse | Where-Object {$_.Extension -eq ".txt"} | Select-Object FullName | Export-Csv E:\test.csv -NoTypeInformation

    Beste Gruesse
    brima
    • Bearbeitet brima Dienstag, 27. Mai 2014 10:51
    • Als Antwort vorgeschlagen Peter Kriegel Mittwoch, 28. Mai 2014 05:39
    • Als Antwort markiert Alex Pitulice Freitag, 30. Mai 2014 11:03
    Dienstag, 27. Mai 2014 10:34
  • Get-ChildItem -Path E:\test -Include *.txt -Recurse | Select-Object Fullname | Export-Csv e:\test.csv -NoTypeInformation

    brachte das gewünschte Ergebnis!

    Vielen Vielen Dank!!!

    Dienstag, 27. Mai 2014 10:57