2016-04-22 16 views
-1

Ich versuche, einen PowerShell Skript zu schreiben, die für beiden Dateien und Ordner der gleichen Namen suchen. Ich bin in der Lage zu suchen und die Ordner zu finden, meine Frage ist, wie kann ich die Suche nach Dateien in der gleichen Zeile mit dem unten angegebenen Code integrieren, ohne die Dateierweiterung als Teil der Suche zu verwenden.Suche mit Powershell

Get-WmiObject win32_logicalDisk -Filter "DriveType = 3" | 
    Select-Object DeviceID | 
    ForEach-Object {Get-ChildItem ($_.DeviceID + "\") -include "AA AA" -Recurse} 
+1

Sorry, bin immer noch nicht sicher, was genau Sie suchen möchten. Können Sie einige Beispiele nennen? –

Antwort

1

Ich gehe davon aus, dass Sie für Dateien/Ordner gesuchte entweder den Namen buchstäblich AA AA oder mit AA AA als Dateiname Wurzel, gefolgt von jede Dateinamenerweiterung (z.B. AA AA.txt).

Wenn ja, versuchen Sie dies:

Get-WmiObject win32_logicalDisk -Filter "DriveType = 3" | 
    Select-Object DeviceID | 
    ForEach-Object {Get-ChildItem ($_.DeviceID + "\") -Recurse -Include 'AA AA', 'AA AA.*'} 
+0

Wenn die Datei keine Erweiterung hat nehme ich an, dass sie nicht auf diese Weise gefunden würde? – ssaviers

+0

@ssaviers: Das ''AA AA''-Argument sollte den Datei-/Ordnernamen wörtlich und vollständig' AA AA' entsprechen; Das Argument "AA AA. *" sollte Datei-/Ordnernamen mit dem gleichen Dateinamen _root_, aber mit einer Erweiterung (any) umfassen. – mklement0

+0

@ Mklement0, Entschuldigung für das Missverständnis, das ich noch nicht auf dieser Seite benutze. Danke für die Antwort, es hat perfekt funktioniert !! – EVO

1

Sie könnten dies versuchen. Entfernen Sie die -Recurse, wenn Sie nicht in Unterordnern navigieren und nur den Stamminhalt jedes gefundenen Laufwerks durchsuchen möchten.

Get-WmiObject Win32_LogicalDisk -Filter DriveType = "3" | 
    Select-Object DeviceID | ForEach-Object { 
     Get-ChildItem ($_.DeviceID + '\') -Recurse | Where-Object { 
      $_.Name -Match "AA AA" 
     } 
    } 
+0

Dies entspricht jeder Datei oder jedem Ordner, dessen Name AA AA enthält, als _substring_, was wahrscheinlich zu freizügig ist. – mklement0

+0

Hallo Mkement0 Das funktioniert perfekt. Vielen Dank für Ihre Eingabe: D – EVO

+0

@EVO Bitte bestätigen Sie, dass Sie die richtige Antwort ausgewählt und kommentiert haben, je nachdem, was für Sie funktioniert hat. – ssaviers