none
Suche nach Dateien RRS feed

  • Frage

  • Hallo,

    ich suche ein Befehl welches zu

    dir /s test.txt


    äquivalent ist. In einem Forum habe gelesen, dass

    Get-ChildItem -recurse test.txt

    gleiche sein soll. Aber das Suchergebnis sagt etwas anderes. Während der erste Befehl die Partition abklappert, sucht der zweite nur Unterverzeichnisse

    Gibts hier eine Lösung in PS?


    Dienstag, 7. August 2012 08:32

Antworten

  • >Wie kann ich aber dafür sorgen, dass er C:\ D:\ E:\ beispielsweise sucht, ohne redundanten Code zu programmieren.

    Das kommt darauf an was du genau machen willst. Grundsätzlich kannst du als einfache Variante z.b. die Pipeline benutzen:

     

    "c:","d:","e:" | Get-ChildItem -recurse -filter *.txt


    Grüße, Denniver




    Blog: http://bytecookie.wordpress.com

    Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".

    • Als Antwort markiert Ali0311 Dienstag, 7. August 2012 10:26
    Dienstag, 7. August 2012 10:20
    Moderator

Alle Antworten

  • Was bei dir fehlt, ist der -filter oder -include parameter, der benannt werden muss, d.h. man kann nicht einfach den Wert (in dem Fall "test.txt") an eine bestimmte stelle schreiben.
    Schau mal hier: http://technet.microsoft.com/de-de/library/dd347686.aspx. Wenn hinter einem Parameter eine Zahl steht, reicht es den Wert an die entsprechende Position zu schreiben, wenn da aber named steht, muss der Parameternamen auch geschrieben werden.

    get-childitem -recurse -include log.log

    Grüße, Denniver


    Blog: http://bytecookie.wordpress.com

    Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".

    Dienstag, 7. August 2012 09:24
    Moderator
  • Vielen Dank für die Antwort. Ich habe das sogar gelesen gehabt mit -include und -filter aber mir ist das irgendwie nicht eingefallen.

    Ich hab jetzt folgendes zusammen geschrieben

    #Verzeichnis extrahieren
    #Anzahl der Dateien Anzeigen
    $dateiname = "test.txt"
    $suche= Get-ChildItem "D:\" -Filter $dateiname -r -ErrorAction SilentlyContinue
    foreach($suchen in $suche){
    $suchen.Name
    $suchen.DirectoryName
    ""
    $anzahl = ($suche | Measure-Object).Count
    }
    "Die Suche ergab $anzahl Dateien"

    Das funktioniert einwandfrei. Wie kann ich aber dafür sorgen, dass er C:\ D:\ E:\ beispielsweise sucht, ohne redundanten Code zu programmieren.
    Dienstag, 7. August 2012 10:07
  • >Wie kann ich aber dafür sorgen, dass er C:\ D:\ E:\ beispielsweise sucht, ohne redundanten Code zu programmieren.

    Das kommt darauf an was du genau machen willst. Grundsätzlich kannst du als einfache Variante z.b. die Pipeline benutzen:

     

    "c:","d:","e:" | Get-ChildItem -recurse -filter *.txt


    Grüße, Denniver




    Blog: http://bytecookie.wordpress.com

    Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".

    • Als Antwort markiert Ali0311 Dienstag, 7. August 2012 10:26
    Dienstag, 7. August 2012 10:20
    Moderator
  • Vielen Dank. Das reicht vollkommen aus.
    Dienstag, 7. August 2012 10:27