Benutzer mit den meisten Antworten
Zeilen aus einer Textdatei, Zeilenweise in verschiedene Textdateien schreiben

Frage
-
Hey Leute,
ich habe folgende Frage. Ich habe eine Textdatei und will nun, dass die Zeilen aus der Textdatei gelesen werden und nacheinander in eine bestimmte Anzahl an Textdateien geschrieben wird.
Ich habs mir ungefähr so vorgestellt:
Anzahl der zu erstellenden Dateien: z.B. 5 festgelegt
Datei mit allen Informationen zeilenweise in Dateien speichern
1 > Datei 1
2 > Datei 2
3 > Datei 3
4 > Datei 4
5 > Datei 5
6 > Datei 1
7 > Datei 2
8 > Datei 3
9 > Datei 4
10 > Datei 5
Vielen Dank
- Bearbeitet globaluser Dienstag, 25. Oktober 2016 12:54
Antworten
-
Dieses Forum ist eigentlich nicht dafür gedacht, Skripte anzufordern. Wenn Du konkrete Fragen zu Problemen mit Deinen Skripten hast, bist Du hier sehr willkommen.
Wie sieht Dein Skript bisher aus?
Falls Du noch nichts hast, kannst Du mit den cmdlets 'Get-Content', 'Foreach' und 'If' anfangen.
Ein guter Start-Punkt ist auch die Microsoft Virtual Academy ... einfach mal durchklicken! ;-)
Grüße - Best regards
PS:> (79,108,97,102|%{[char]$_})-join''- Bearbeitet BOfH-666 Dienstag, 25. Oktober 2016 13:03
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Donnerstag, 27. Oktober 2016 11:20
- Als Antwort markiert Denniver ReiningMVP, Moderator Freitag, 28. Oktober 2016 11:10
-
Moin,
so ganz grob und auf die Schnelle:
$nmax = Read-Host "No. Files" $i = 0 Get-Content "C:\test\in.txt" | foreach { $i++ if ($i -gt $nmax) { $i = 1 } $_ | Add-Content "c:\test\out$($i).txt" }
Evgenij Smirnov
msg services ag, Berlin -> http://www.msg-services.de
my personal blog (in German) -> http://it-pro-berlin.de
my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com
In theory, there is no difference between theory and practice. In practice, there is.
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Donnerstag, 27. Oktober 2016 11:20
- Als Antwort markiert Denniver ReiningMVP, Moderator Freitag, 28. Oktober 2016 11:10
Alle Antworten
-
Dieses Forum ist eigentlich nicht dafür gedacht, Skripte anzufordern. Wenn Du konkrete Fragen zu Problemen mit Deinen Skripten hast, bist Du hier sehr willkommen.
Wie sieht Dein Skript bisher aus?
Falls Du noch nichts hast, kannst Du mit den cmdlets 'Get-Content', 'Foreach' und 'If' anfangen.
Ein guter Start-Punkt ist auch die Microsoft Virtual Academy ... einfach mal durchklicken! ;-)
Grüße - Best regards
PS:> (79,108,97,102|%{[char]$_})-join''- Bearbeitet BOfH-666 Dienstag, 25. Oktober 2016 13:03
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Donnerstag, 27. Oktober 2016 11:20
- Als Antwort markiert Denniver ReiningMVP, Moderator Freitag, 28. Oktober 2016 11:10
-
Moin,
so ganz grob und auf die Schnelle:
$nmax = Read-Host "No. Files" $i = 0 Get-Content "C:\test\in.txt" | foreach { $i++ if ($i -gt $nmax) { $i = 1 } $_ | Add-Content "c:\test\out$($i).txt" }
Evgenij Smirnov
msg services ag, Berlin -> http://www.msg-services.de
my personal blog (in German) -> http://it-pro-berlin.de
my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com
In theory, there is no difference between theory and practice. In practice, there is.
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Donnerstag, 27. Oktober 2016 11:20
- Als Antwort markiert Denniver ReiningMVP, Moderator Freitag, 28. Oktober 2016 11:10
-
Na so lernt er aber nix, wenn Du ihm alles vorsagst! ;-)
Ich durfte heute schon ein fremdes Skript debuggen ;-)
Und auf dem Niveau lernt man eh aus irgendwelchen Snippets, dann ist der Snippet halt direkt zielgerichtet gewesen...
Evgenij Smirnov
msg services ag, Berlin -> http://www.msg-services.de
my personal blog (in German) -> http://it-pro-berlin.de
my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com
In theory, there is no difference between theory and practice. In practice, there is.
-
Vielen Dank für deine schnelle Antwort. Hab deine Lösung nur mal als Denkanstoß genommen.
Hab es nun so gelöst:
$linecount = 0 $filenumber = 1 $finaldestservpath = 'Pfad' Get-Content $file | Measure-Object | ForEach-Object { $sourcelinecount = $_.Count } $maxfile = '9' $maxfilesize = [int]$maxfile $content = get-content $file | % { Add-Content $finaldestservpath\splitlog$filenumber.txt "$_" $filenumber++ $linecount++ If ($filenumber -eq $maxfilesize) { $filenumber = 1 } }
Also es erledigt was es soll, kann ich es so lösen oder wäre ein anderer Weg sinnvoller ?Paddy
-
Moin,
die Richtung stimmt, der Weg ist aber sehr gewunden ;-)
wofür zählst Du die Zeilen, wenn Du den Zähler nirgends verwendest?
und wofür ist die Variable $content? Die wird auch nirgends verwendet.
und wieso initialisierst Du die Anzahl als String und wandelst sie dann in [int]?
Evgenij Smirnov
msg services ag, Berlin -> http://www.msg-services.de
my personal blog (in German) -> http://it-pro-berlin.de
my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com
In theory, there is no difference between theory and practice. In practice, there is.