Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Rekursives Auslesen einer Verzeichnisstruktur

Mitglied: Minion

Minion (Level 1) - Jetzt verbinden

20.12.2017 um 16:48 Uhr, 691 Aufrufe, 4 Kommentare

Hallo @all,

heute habe ich mal ein Powershellproblem.
Ich möchte den Inhalt eines Laufwerkes auslesen, in Abhängigkeit der Struktur.
Mein erster Ansatz

[String] $folder = "G:\";
Get-ChildItem -Path $folder -recurse | SELECT Directory, Path, Name | Format-Table -AutoSize > "D:\Liste6.txt"

Ergenis:

A1
A2
A3
A11
A12
A13
A14
A21
A22
A23

Soweit so gut, ich könnte schon mit arbeiten, aber gewünscht wäre dieses Ergebnis

A1
A11
A12
A13
A14
A2
A21
A22
A23
A3

Hat jemand eine Idee?

Gruss Minion
Mitglied: SlainteMhath
LÖSUNG 20.12.2017 um 16:51 Uhr
Moin,

Sort-Object?

lg,
Slainte
Bitte warten ..
Mitglied: Minion
20.12.2017 um 21:25 Uhr
A1, A2, A3 Verzeichnisnamen oberster Ebene
A11, A12, A13 Verzeichnisnamen der Ebene darunter

Mit SORT bekomme ich das nicht hin.

BG Minion
Bitte warten ..
Mitglied: SlainteMhath
21.12.2017 um 07:43 Uhr
Mit SORT bekomme ich das nicht hin.
Stimmt. Dann musst du deine Frage aber entsprechend formulieren

In etwa so müsste es funktionieren:
Schreib dir eine Funktion die einen Folder per gci ohne -recurse ausliest, und in die Textdatei ausgibt.Laufe dann die zurückgegeben Objects durch und rufe die Funktion rekursiv auf, falls das Object ein Ordner ist.

lg,
Slainte
Bitte warten ..
Mitglied: colinardo
21.12.2017, aktualisiert 24.12.2017
Servus zusammen,
für solche Fälle gibt es das CMDLet group-object mit dem sich sowas leicht erreichen lässt.
In dem Fall würde es ja genügen wenn man nach den Ordnern der ersten Ebene gruppiert welche man über Regex aus dem Fullname jeder(es) Datei/Ordners extrahiert:
01.
$folder = 'D:\Projektordner'
02.
gci $folder -Recurse | group {[regex]::match($_.Fullname,([regex]::escape($folder) + '\\[^\\]+'))} | %{
03.
    "Objekte in Struktur unter '$($_.Name):'`n"
04.
    $_.Group.Fullname
05.
}
Fast der selbe Code geht stattdessen alternativ sehr wohl auch direkt mit sort-object indem man das group-object einfach austauscht und das Augabeobjekt anpasst.
01.
$folder = 'D:\Projektordner'
02.
gci $folder -Recurse | sort {[regex]::match($_.Fullname,([regex]::escape($folder) + '\\[^\\]+'))} | %{
03.
    $_.Fullname
04.
}
Natürlich geht es auch wie @slainte sagt über den Umweg erst erste Ebene auslesen und dann mit einer Schleife über diese Ordner ein weiteres Get-Childitem mit Recurse.
01.
$folder = 'D:\Projektordner'
02.
gci $folder  -Dir | %{
03.
    gci $_.Fullname -Recurse | select Fullname
04.
}
Also genügend Möglichkeiten, für jeden Gusto eine .

Viel Spaß und schon mal ein frohes und besinnliches Fest!
Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateien rekursiv durchgehen
Frage von DanielBodenseeBatch & Shell3 Kommentare

Hallo zusammen, ich möchte ein Script schreiben mit dem ich unsere File-Server durchgehen möchte um Dateien rekursiv durchzugehen um ...

Batch & Shell
Irfanviev rekursiv starten
gelöst Frage von Nightowl71Batch & Shell5 Kommentare

hallo zusammen, bisher habe ich diese befehlsfolge im freecommander genutzt Y:\IrfanView\i_view32.exe "D:\test /thumbs /filepattern="*001*"" (mit eingabe, das ich die ...

Batch & Shell
Umbennen von Ordnern Rekursiv
Frage von Dpole86Batch & Shell5 Kommentare

Hallo Zusammen Ich habe ein Problem mit einm Script aus Powershell Ich habe mehrere Ordner von Aufgenommenen Games Bsp: ...

VB for Applications
Alle Dateien rekursiv auflisten
gelöst Frage von 94451VB for Applications2 Kommentare

Hallo liebe Kollegen, ich suche nach einer Möglichkeit in VBS alle Dateien rekursiv aufzulisten hier habe ich eine Möglichkeit ...

Neue Wissensbeiträge
Windows 10

Sandy-Bridge plus Nvidia plus Win10 1903 braucht Hotfix

Information von DerWoWusste vor 1 TagWindows 101 Kommentar

Es gibt ein Problem in der seltenen Konstellation Nvidia-Grafikkarte/Sandy-Bridge-CPU/Win10v1903: die von Nvidia vorgeschlagenen Treiber lassen sich nicht installieren. verlinkt ...

Off Topic
Computermuseum Stuttgart
Tipp von NixVerstehen vor 1 TagOff Topic2 Kommentare

Hallo zusammen, letzte Woche habe ich mit meinem 16-jährigen Sohn das Computermuseum Stuttgart (Uni Stuttgart) besucht, um ihm und ...

Windows 10
Windows 10: Netzwerk zeigt Fehler 0x80070035
Tipp von anteNope vor 1 TagWindows 105 Kommentare

Moin zusammen, ich hatte gerade mal wieder das Vergnügen mit dem obigen Fehler. Unter Borns Blog ist das beschreiben: ...

Windows 10

Bug: Windows 10 Enterprise LTSC erhält Funktionsupdate angeboten

Information von kgborn vor 2 TagenWindows 105 Kommentare

Der Fehler ist mittlerweile zwar korrigiert, aber ich denke, ich stelle die Info doch mal hier für Leute ein, ...

Heiß diskutierte Inhalte
DSL, VDSL
Blitzschutz für DSL-Leitung
gelöst Frage von SarekHLDSL, VDSL32 Kommentare

Hallo zusammen, nachdem ein Blitzeinschlag in der Nähe mir am Sonnabend trotz Überspannungsschutz-Steckdosenleite meinen Router gegrillt hat, habe ich ...

Server
Wie kommunizieren Server ?
gelöst Frage von A12345Server25 Kommentare

Hallo liebe Forumsgemeinde, ich bin ein absoluter Neuling und habe nicht viel Ahnung von der IT. Allerdings habe ich ...

Server
ODBC Verbindung zu MYSQL funktioniert beim Einrichten nicht
gelöst Frage von martenkServer23 Kommentare

Guten Tag, versuche gerade von meinem PC eine ODBC Testverbindung zu meinem Server (bei 1und1) aufzubauen habe dazu mysql ...

Netzwerkmanagement
Cisco - Level-One und Portbündelung bzw. Trunk
gelöst Frage von KnorkatorNetzwerkmanagement16 Kommentare

Hallo zusammen, hallo Aqui, :) Während der Umstellungsphase auf unsere neuen SG350 Switche muss ich parallel noch eine Verbindung ...