Skip to content

Daniels Tagesmeldungen

Kleine IT-Episoden & das wahre Leben

  • Startseite
  • About me…
    • Lebenslauf
    • Weiterbildung
  • Disclaimer
  • Toggle search form

Powershell: Verzeichnisstruktur in Textdatei exportieren

Posted on 19. März 201319. März 2013 By Daniel Lensing Keine Kommentare zu Powershell: Verzeichnisstruktur in Textdatei exportieren

Mit disem Code können Ordnerstrukturen des Filesystems in eine Textdatei exportiert werden. Es wird der Startordner sowie der Pfad und der Dateiname der Exportdatei angegeben werden. Nach der Erstellung kann direkt die Textdatei geöffnet werden.

[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") 
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") 
 
$objForm = New-Object System.Windows.Forms.Form 
$objForm.Text = "FolderListGenerator"
$objForm.Size = New-Object System.Drawing.Size(300,200)
$objForm.StartPosition = "CenterScreen"
 
$objForm.KeyPreview = $True
$objForm.Add_KeyDown({if ($_.KeyCode -eq "Enter") { $path=$objTextBox.Text;$objForm.Close()} })
$objForm.Add_KeyDown({if ($_.KeyCode -eq "Escape") { $objForm.Close()} })
 
$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Size(75,120)
$OKButton.Size = New-Object System.Drawing.Size(75,23)
$OKButton.Text = "OK"
$OKButton.Add_Click({$path=$objTextBox1.Text;$file=$objTextBox2.Text;$objForm.Close()})
$objForm.Controls.Add($OKButton)
 
$CancelButton = New-Object System.Windows.Forms.Button
$CancelButton.Location = New-Object System.Drawing.Size(150,120)
$CancelButton.Size = New-Object System.Drawing.Size(75,23)
$CancelButton.Text = "Cancel"
$CancelButton.Add_Click({$objForm.Close()})
$objForm.Controls.Add($CancelButton)
 
$objLabel1 = New-Object System.Windows.Forms.Label
$objLabel1.Location = New-Object System.Drawing.Size(10,20) 
$objLabel1.Size = New-Object System.Drawing.Size(280,20) 
$objLabel1.Text = "Bitte Verzeichnispfad eingeben (z.B. C:\Folder):"
$objForm.Controls.Add($objLabel1) 
 
$objTextBox1 = New-Object System.Windows.Forms.TextBox 
$objTextBox1.Location = New-Object System.Drawing.Size(10,40) 
$objTextBox1.Size = New-Object System.Drawing.Size(260,20)
$objTextBox1.Text = ""
$objForm.Controls.Add($objTextBox1) 
 
$objLabel2 = New-Object System.Windows.Forms.Label
$objLabel2.Location = New-Object System.Drawing.Size(10,70) 
$objLabel2.Size = New-Object System.Drawing.Size(280,20) 
$objLabel2.Text = "Bitte Dateiablage eingeben (z.B. C:\temp\folder.txt):"
$objForm.Controls.Add($objLabel2) 
 
$objTextBox2 = New-Object System.Windows.Forms.TextBox 
$objTextBox2.Location = New-Object System.Drawing.Size(10,90) 
$objTextBox2.Size = New-Object System.Drawing.Size(260,20)
$objTextBox2.Text = ""
$objForm.Controls.Add($objTextBox2) 
 
[void] $objForm.ShowDialog()
 
Get-Childitem $path -recurse -filter * | 
? { $_.PSisContainer -eq $true} | 
% {$_.fullname -replace "\\","`t" } | 
sort | out-file $file
 
$a = new-object -comobject wscript.shell
$intAnswer = $a.popup("Exportdatei öffnen?",0,"FolderListGenerator",4)
If ($intAnswer -eq 6) {
  Invoke-Item $file
} else {
  $a.popup("Datei erstellt")
}

Als Trennzeichen wird der TAB genutzt, so dass ein Import z.B. in Excel ohne Probleme funktionieren sollte.

Powershell

Beitrags-Navigation

Previous Post: Es wird Zeit – Versicherungskennzeichen 2013
Next Post: 23. März 2013: Aktionstag Erste Hilfe

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Daniel Lensing

Ich betreibe diesen Blog, wo ich meine Erfahrungen aus der IT sowie dem damit verbundenen Berufsalltag dem Internet zur Verfügung stelle.

Zwischenzeitlich bringe ich auch noch die eine oder andere Gegebenheit aus meinem Offline-Leben zur digitalen Nutzung.

Follow us

  • rss
  • mail
  • twitter
  • instagram
  • xing
  • linkedin
  • mastodon

Kategorien

  • Allgemein (6)
  • Client (212)
    • Android (4)
    • Fedora (Linux) (4)
    • iOS (3)
    • Mac OS X (3)
    • Peripherie (4)
    • Ubuntu (Linux) (6)
    • Windows 10 (42)
    • Windows 11 (2)
    • Windows 7 (100)
    • Windows 8 (36)
    • Windows 8.1 (28)
    • Windows Mobile (2)
    • Windows Vista (65)
    • Windows XP (21)
  • Cloud (12)
    • Microsoft Azure (5)
    • Office 365 (7)
  • Fortbewegung (39)
    • Auto (13)
    • Bahn (13)
    • Beinarbeit (1)
    • Zweirad (12)
  • IT-Nachrichten (34)
  • Leben Beruf und Gesundheit (79)
    • Arbeitszimmer (2)
    • Audio (9)
    • Gedanken (17)
    • Kino (3)
    • Lebensmittel & Essen (5)
    • Lesestoff (3)
    • Sport (1)
  • Lehren & Lernen (44)
    • Konferenzen (1)
    • Präsentation (1)
    • Zertifizierung (42)
  • Programme (309)
    • Android-Apps (21)
    • Eigene Tools (11)
    • iOS-Apps (1)
    • Office (84)
    • Patchday+Updates (69)
    • Software (142)
    • Spiele (3)
    • Windows Phone-Apps (2)
  • Programmierung (79)
    • AutoIT (1)
    • KiXtart (1)
    • PHP (2)
    • Power Automate (1)
    • Powershell (49)
    • VB.NET (8)
    • VBA (10)
    • VBS (10)
  • Server (141)
    • Citrix XenServer (2)
    • Exchange Server (25)
    • Lync Server (1)
    • System Center (4)
    • Ubuntu Server (1)
    • Windows Home Server (2)
    • Windows Server (88)
    • Windows Server 2012 (45)
    • Windows Server 2016 (11)
    • Windows Server 2019 (3)
  • Telekommunikation (29)
    • Festnetz (3)
    • Internet (6)
    • Mobilfunk (20)
  • Verkauf & Verlosung (1)
  • Web-Installationen (32)
    • Joomla (4)
    • MediaWiki (9)
    • phpMyAdmin (1)
    • Piwik (4)
    • Wordpress (19)

Copyright © 2023 Daniels Tagesmeldungen.

Powered by PressBook WordPress theme