Giulidsantos 0 Geschrieben 13. Februar 2015 Melden Teilen Geschrieben 13. Februar 2015 Guten Morgen Leute Ich habe eine Frage und zwar habe ich in einem Verzeichnis Dateien wo ein Script eine Auswertung machen soll. Es hat jedoch auch Dateien drin wo nicht berücksichtigt werden sollen, jetzt meine Frage kann ich meinem Script sagen es soll NUR Dateien auswerten mit einer Länge des Namens von zb. 20 Ziffern? Und alle andern Dateien werden ignoriert? Vielen Dank Oder es würde auch gehen dass das Script prüft ob die auszuwertende Dateien immer gleich anfangen zb:HDVF.123.....Aber ich komme nicht drauf wie ich das realisiere Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 13. Februar 2015 Melden Teilen Geschrieben 13. Februar 2015 Ja, schau mal hier: https://technet.microsoft.com/en-us/library/ee176895.aspx Zitieren Link zu diesem Kommentar
Giulidsantos 0 Geschrieben 13. Februar 2015 Autor Melden Teilen Geschrieben 13. Februar 2015 Hey zahni Das bestimmen der Länge einer Datei ist mir schon klar meine Frage ist wie ich das mache das mein Script nur die mit 20 Ziffern abfragt? Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 13. Februar 2015 Melden Teilen Geschrieben 13. Februar 2015 was für'n Script ist es denn? Batch? VBS? Powershell? Wenn die auszuwertenden immer gleich anfangen (und anders als die nicht auszuwertenden!) wäre sowas wie ein "If Left(Dateiname,5) = 'HDVF.' then..." denkbar (Als VBS Beispiel...) Zitieren Link zu diesem Kommentar
Giulidsantos 0 Geschrieben 13. Februar 2015 Autor Melden Teilen Geschrieben 13. Februar 2015 Es ist ein Powershell Skript Aber der Dateiname ist nicht immer gleich hat nur die gleiche Anzahl an Ziffern Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 13. Februar 2015 Melden Teilen Geschrieben 13. Februar 2015 da könntest Du Dein "dir" in ein "where" reinpipen und da z.B. $_.Startswith('HDVF') filtern. Das Ergebnis kann dann z.B. per Schleife ausgewertet werden. siehe auch: https://technet.microsoft.com/en-us/library/ee692804.aspx Zitieren Link zu diesem Kommentar
Giulidsantos 0 Geschrieben 13. Februar 2015 Autor Melden Teilen Geschrieben 13. Februar 2015 Hmm gute Idee bei der Umsetzung scheiterst bei mir nur ein bisschen :D Also ich habe: $files = Get-ChildItem -Path "C:\PS\Output\Text\"foreach ($file in $files) { $parts = $file.Name.Split(".") $string = $parts[0] $sid = [system.IO.Path]::GetFileNameWithoutExtension($file.Name).Substring(5) $hd = [system.IO.Path]::GetFileNameWithoutExtension($file.Name).Substring(0, 4) $domain = $env:USERDOMAIN $ad = get-aduser $sid -Properties * | select-object -ExpandProperty "Name" $sam = get-aduser $sid -Properties * | select-object -ExpandProperty "SamAccountName" Soweit die Abfrage habe ich alles hinbekommen doch mit der zweiten If oder Where Abfrage komm ich nicht richtig klar wie du das jetzt meinst? Zitieren Link zu diesem Kommentar
Beste Lösung Cybquest 36 Geschrieben 13. Februar 2015 Beste Lösung Melden Teilen Geschrieben 13. Februar 2015 die Where-Idee: Die erste Zeile so abändern... $files = Get-ChildItem -Path "C:\PS\Output\Text\" | where {$_.Name.StartsWith("HDVF.")} Somit wären in der $files-Collection nur noch die, die mit HDVF. anfangen Danach kannst in Deiner foreach einfach den Auswerteteil einbauen. Zitieren Link zu diesem Kommentar
Giulidsantos 0 Geschrieben 13. Februar 2015 Autor Melden Teilen Geschrieben 13. Februar 2015 Super vielen Dank Cybquest funktioniert super! :) Und hab was neues gelernt =) Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 13. Februar 2015 Melden Teilen Geschrieben 13. Februar 2015 Gern geschehen :) Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.