the-jay
Goto Top

Lange Dateiliste auf mehrere "kleine" Dateilisten aufteilen

Hallo,

für eine weitere Verarbeitung muss ich eine Dateiliste mit knapp 100000 Zeilen in mehrere kleine aufteilen. Die Eingabeliste heißt "Dateiliste.txt", diese würde ich gern umarbeiten in:
- Dateiliste_01.txt
- Dateiliste_02.txt
- usw.

Jede "kleine" Dateiliste soll hierbei nur 9999 Zeilen enthalten. Die letzte kleine Liste beinhaltet einfach den Rest der über bleibt.

Über eure Hilfe würde ich mich freuen.
Danke

Content-Key: 281806

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

Printed on: April 25, 2024 at 10:04 o'clock

Mitglied: 114757
114757 Sep 02, 2015 updated at 14:04:54 (UTC)
Goto Top
Mit Powershell z.B. so
$file = gc 'c:\dateiliste.txt'  
0..([int]($file.length/9999)) | %{$file[($_ * 9999)..(($_ * 9999)+9998)] | set-content "c:\Dateiliste_$($_.toString().padLeft(2,'0')).txt"}  
Gruß jodel
Member: tHe-jAy
tHe-jAy Sep 02, 2015 at 14:05:15 (UTC)
Goto Top
Mein Fehler; würde das gern über ne einfache batch (cmd.exe) unter win7 lösen.
Mitglied: 114757
Solution 114757 Sep 02, 2015 updated at 14:57:30 (UTC)
Goto Top
Zitat von @tHe-jAy:
Mein Fehler; würde das gern über ne einfache batch (cmd.exe) unter win7 lösen.
Wohl noch nie mit Powershell hantiert was ?
Das obige kannst du dir ganz einfach in eine Batch integrieren
@echo off
Powershell.exe -Executionpolicy ByPass -Command "&{$file = gc 'c:\dateiliste.txt'; 0..([int]($file.length/9999)) | %%{$file[($_ * 9999)..(($_ * 9999)+9998)] | set-content \"c:\Dateiliste_$($_.toString().padLeft(2,'0')).txt\"}}  
Member: tHe-jAy
tHe-jAy Sep 02, 2015 at 14:59:34 (UTC)
Goto Top
:D nee hab ich noch nie - kannte das gar nicht und dachte dass is nen tool was installiert werden muss.
Funktioniert tadellos!
Vielen Dank dafür.