Powershell: Dateinamen und Inhalt verbinden
Hallo zusammen,
leider darf ich in der Firma keine Tools installieren, Powershell geht aber. Leider kenne ich mich damit nicht aus.
Problem:
Ich habe einen Ordner mit ca. 5.000 Dateien mit systematisch vergebenem Dateinamen.
Der Inhalt jeder Datei ist ein Wort oder Satz, der in exakt einer Zeile steht (max. 25 Zeichen).
Ich möchte nun eine Datei erstellen, die pro Zeile den Dateinamen mit dem Inhalt der Datei konkateniert, ggf. getrennt durch ein Semikolon,
sodass ich am Ende in der Datei exakt so viele Zeilen habe, wie es Dateien im Ordner gibt.
In einem ersten Schritt habe ich es schon mal geschafft, die Dateinamen in eine Textdatei zu transferieren:
$Dateien = Get-Childitem -recurse | where{-not $_.PSIsContainer}
$Dateinamen = $Dateien | select -ExpandProperty Basename > test.txt
Aber wie bekomme ich nun die Inhalte der Dateien dahinter?
Besten Dank für eine Antwort
Roland
leider darf ich in der Firma keine Tools installieren, Powershell geht aber. Leider kenne ich mich damit nicht aus.
Problem:
Ich habe einen Ordner mit ca. 5.000 Dateien mit systematisch vergebenem Dateinamen.
Der Inhalt jeder Datei ist ein Wort oder Satz, der in exakt einer Zeile steht (max. 25 Zeichen).
Ich möchte nun eine Datei erstellen, die pro Zeile den Dateinamen mit dem Inhalt der Datei konkateniert, ggf. getrennt durch ein Semikolon,
sodass ich am Ende in der Datei exakt so viele Zeilen habe, wie es Dateien im Ordner gibt.
In einem ersten Schritt habe ich es schon mal geschafft, die Dateinamen in eine Textdatei zu transferieren:
$Dateien = Get-Childitem -recurse | where{-not $_.PSIsContainer}
$Dateinamen = $Dateien | select -ExpandProperty Basename > test.txt
Aber wie bekomme ich nun die Inhalte der Dateien dahinter?
Besten Dank für eine Antwort
Roland
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2799889135
Url: https://administrator.de/forum/powershell-dateinamen-und-inhalt-verbinden-2799889135.html
Ausgedruckt am: 14.04.2025 um 03:04 Uhr
8 Kommentare
Neuester Kommentar
Servus.
Grüße Uwe
Powershell - Leitfaden für Anfänger
Get-Childitem 'E:\Daten' -File -recurse | select Basename,@{n='Inhalt';e={Get-Content $_.Fullname -Head 1}} | export-csv .\test.csv -Delimiter ";" -NoType -Encoding UTF8
Powershell - Leitfaden für Anfänger
Zitat von @yxos68:
Danke für die Antworten soweit!
Doskias' Hinweis konnte ich zumindest soweit umsetzen, dass ich nun zwei Dateien habe: Eine mit den Dateinamen und eine mit den Dateiinhalten. Dummerweise hat die eine Datei 5 Zeilen mehr als die andere, den Grund dafür muss ich noch rausfinden...
Welche hat denn die Leerzeilen? Die mit den Dateinamen oder Inhalten? Ich persönlich würde ohnehin den Dateinamen und den Inhalt in eine Datei schreiben. dann passt es auch.Danke für die Antworten soweit!
Doskias' Hinweis konnte ich zumindest soweit umsetzen, dass ich nun zwei Dateien habe: Eine mit den Dateinamen und eine mit den Dateiinhalten. Dummerweise hat die eine Datei 5 Zeilen mehr als die andere, den Grund dafür muss ich noch rausfinden...
Aber den Leitfaden werde ich mir mal reinziehen - vielen Dank 
Das ist immer eine gute Idee Gruß
Doskias
Zitat von @yxos68:
Keine - beide Dateien sind Leerzeilen-frei!
Da muss es irgendeinen Haken an den Inhalten geben...ich forsche noch!
Thx anyway...
Welche hat denn die Leerzeilen?
Keine - beide Dateien sind Leerzeilen-frei!
Da muss es irgendeinen Haken an den Inhalten geben...ich forsche noch!
Thx anyway...
Ah ok. Hatte es so interpretiert, dass eine Datei 5 Leerzeilen hat. Viel Erfolg weiterhin.
Gruß
Doskias