flashback830
Goto Top

Mit Powershell Ordnerstruktur aus .csv anlegen

Hallo zusammen,

folgendes Problem, ich habe eine .csv Datei bekommen mit knapp 60k Einträgen. Die Struktur der csv soll in Ordnern nachgebildet werden und in den tiefsten Ordner jeweils nochmal 3 Ordner.

Also die csv sieht ungefähr so aus:

csv

Da sollte dann so aussehen:

test1\2ordner\A
test1\2ordner\B
test1\2ordner\C

test1\o3\A
test1\o3\B
test1\o3\C

test2\abc1\A
test2\abc1\B
test2\abc1\C

test2\abc2\A
test2\abc2\B
test2\abc2\C

test2\abc3\aa1\A
usw..

Die Ordner Struktur geht allerdings zum Teil bis zu 10 Ordner tief.

Ich bin mit der Powershell noch nicht so gut und mit csv geht meine Erfahrung gegen null. Ich würde mich daher sehr freuen wenn mir jemand weiter helfen könnte face-smile

Content-Key: 487925

Url: https://administrator.de/contentid/487925

Printed on: April 26, 2024 at 12:04 o'clock

Member: Kraemer
Kraemer Aug 23, 2019 at 07:44:41 (UTC)
Goto Top
Moin,
Zitat von @flashback830:

Hallo zusammen,
...
Also die csv sieht ungefähr so aus:

und schon habe ich überhaupt keine Lust über dein "Problem" nachzudenken.

1. Entweder ist der Aufbau so, oder nicht
2. Eine CSV ist eine Textdatei - die bekommst du hier auch ohne Screenshot abgebildet.

Gruß
Member: flashback830
flashback830 Aug 23, 2019 at 08:05:36 (UTC)
Goto Top
Hallo Kraemer,

der Aufbau ist so wie auf dem bild abgebildet. Das " test1\2ordner\A " soll den Ordner Pfad da stellen.
Also ich möchte diese Ordner anlegen und nicht die Datei um formatieren face-smile
Member: H41mSh1C0R
H41mSh1C0R Aug 23, 2019 at 08:15:18 (UTC)
Goto Top
Die Struktur der CSV ist doof.
Pro Zeile gehört ein Datensatz und für alle Einträge gelten die gleichen Spalten.

Root;Ordnerebene1;Ordnerebene2

m.M.n. Sinnvoll:
test1;;
test1;2ordner;
test1;2ordner;A

Wie wäre es mit den Einstiegsübungen?

- wie lese ich eine CSV ein
- wie baue ich eine Schleife um Object für Object zu benutzen, für jeden Durchlauf lege Verzeichnis an "Punkt"

Bei deiner "CSV" Struktur müsstest du noch prüfen die Pfade aus den einzelnen Zeilen zusammenbauen.

Aber egal ob so oder so, schreib mal was du bereits an Script hast!

VG
Member: Kraemer
Kraemer Aug 23, 2019 at 08:28:39 (UTC)
Goto Top
Zitat von @flashback830:
der Aufbau ist so wie auf dem bild abgebildet.
dann zeig her. Ohne, von mir auch aus anonymisierte, Textdatei bekommst du von mir keine Hilfestellung. Auf diese Ratespielchen habe ich einfach keine Lust mehr.
Member: flashback830
flashback830 Aug 23, 2019 at 08:43:31 (UTC)
Goto Top
@ psuser - ich weiß nicht warum du deinen Beitrag wieder gelöscht hast aber vielen dank, das ist genau das was ich gesucht habe.
Mitglied: 140913
140913 Aug 23, 2019 updated at 10:22:06 (UTC)
Goto Top
Zitat von @flashback830:

@ psuser - ich weiß nicht warum du deinen Beitrag wieder gelöscht hast aber vielen dank, das ist genau das was ich gesucht habe.
Weil der noch einen entscheidenden Fehler drin hatte wenn du dir es nochmal ganz genau ansiehst, aber damit du auch noch was zu tun hast darfst du ihn jetzt gerne selbst suchen, dann lernst du dabei auch gleich nochwas face-wink.
Member: flashback830
flashback830 Aug 25, 2019 at 18:51:44 (UTC)
Goto Top
ich hab keine Ahnung wo da der Fehler ist face-sad
Mitglied: 140913
140913 Aug 25, 2019 updated at 19:49:26 (UTC)
Goto Top
Löse das Rätsel zum Erfolg!
๐Ÿ‘“๐Ÿ“–๐Ÿ‘จ‍๐ŸŽ“๐Ÿ‹๏ธ๐Ÿ‹๏ธ๐Ÿ‹๏ธ๐Ÿ›Œ๐Ÿ’ค๐Ÿ‘ท‍โ™€๏ธ๐Ÿ‘ฉ‍๐Ÿ”ง๐Ÿโœ…
Member: flashback830
flashback830 Aug 25, 2019 at 19:54:30 (UTC)
Goto Top
Brille, Lesen, Lernen, 3 Ketten Kaufen, schlafen, Bauarbeiter werden, Fahne aufstellen, Fertig... jetzt bin ich verwirrter als vorher

-ReadCount 1000 vlt ?
Mitglied: 140913
140913 Aug 26, 2019 updated at 07:39:13 (UTC)
Goto Top
Nöp.Raten bringt dich da nicht weiter, nur das Rätsel weis die Antwort wie du vorwärts kommst.
Ich warte noch 1-2 Wochen bevor ich die Lösung poste vielleicht kommst du ja noch drauf, will dir ja den Spaß und den Ehrgeiz nicht nehmen.
Member: flashback830
flashback830 Aug 26, 2019 at 08:05:39 (UTC)
Goto Top
Das Problem an dem Rätsel ist es hat gestern bei mir zu hause noch völlig anders ausgesehen als hier..
ka
Member: flashback830
flashback830 Aug 26, 2019 at 08:37:30 (UTC)
Goto Top
ich wär dir wirklich dankbar wenn du mir sagt was da nicht stimmt. Die Tatsache das es bei meiner kleinen test Datei wunder bar funktioniert aber bei der richtigen kein stück macht es nicht unbedingt besser.
Member: Kraemer
Kraemer Aug 26, 2019 at 09:14:15 (UTC)
Goto Top
๐Ÿฟ๐Ÿฟ๐Ÿฟ
Mitglied: 140913
140913 Aug 26, 2019 updated at 09:36:23 (UTC)
Goto Top
Zitat von @flashback830:

Das Problem an dem Rätsel ist es hat gestern bei mir zu hause noch völlig anders ausgesehen als hier..
Dein Browser/OS ist zu alt und unterstützt die aktuellen Unicode-Erweiterungen nicht.
ich wär dir wirklich dankbar wenn du mir sagt was da nicht stimmt.
Ich sehe kein Enthusiasmus bei dir face-smile. Wie gesagt in 1-2 Wochen solltest du so weit sein.

Zitat von @Kraemer:

๐Ÿฟ๐Ÿฟ๐Ÿฟ

back-to-top๐Ÿ๏ธ ๐Ÿป

Member: flashback830
flashback830 Aug 26, 2019 at 10:13:23 (UTC)
Goto Top
Ich verstehe was der Fehler ist, der macht alles hintereinander.

VERBOSE: Performing the operation "Create Directory" on target "Destination: C:\test\test\XXX\Kleinpumpwerke\KPW 22.4-002 In de Masch\KPW 22.4-003 In de Masch\KPW 22.4-004 In de Masc
h\KPW 22.4-005 Kirchenstieg\KPW 22.4-006 Quick Str. 123\KPW 22.4-007 Harbrookweg\KPW 22.4-008 Harbrookweg\KPW 22.4-009 Himmelmoorweg\KPW 22.4-010 Himmelmoorweg\

und wahrscheinlich liegt es an dem return, aber ka. Da hab ich dann ungefähr soviel Ahnung wie bei dem kümmerlichen Script was ich davor hatte....

$csv = "C:\test\text4.csv"  
$csv2 = "C:\test\textx1.csv"  
Type $csv -Encoding:String|Out-File $csv2 -Encoding UTF8

$folder = "C:\Test\"  
$subfolders = 'azv'  

#$var = get-content "$csv"  
#write-host $var

$file = Import-Csv 'C:\test\textx1.csv' -Delimiter ';'   

$ebene1 = '';  
$ebene2 = '';  
$ebene3 = '';  
$ebene4 = '';  
$pfad = '';  

foreach ($line in $file) 
{
  if ($line.ebene1 -ne '') {$ebene1 = $line.ebene1; $pfad = $ebene1};  
  if ($line.ebene2 -ne '') {$ebene2 = $line.ebene2; $pfad = $pfad + '\' +$ebene2};  
  if ($line.ebene3 -ne '') {$ebene3 = $line.ebene3; $pfad = $pfad + '\' +$ebene3};  
  if ($line.ebene4 -ne '') {$ebene4 = $line.ebene4; $pfad = $pfad + '\' +$ebene4};  
  write-host $pfad;
}
Mitglied: 140913
140913 Sep 06, 2019 at 09:53:42 (UTC)
Goto Top
Siehe PN.