Ich bin ein Problem, durch alle Dateien im Verzeichnis und Spalten Looping es auf das Feld nach „[IMPORT]“Powershell-Schleife für das Aufspalten mutiple txt-Dateien in einzelne Dateien
Verzeichnis: \ C \ users $ \ Pepe \ Desktop \ TestInfoFolder
ich habe die folgenden zwei Dateien im Verzeichnis: TestingInfo1.txt TestingInfo2.txt
Sie sehen wie folgt aus:
TestingInfo1.txt
[IMPORT]
1
2
3
4
5
6
7
8
9
10
[IMPORT]
11
12
13
14
15
16
17
18
19
20
TestingInfo2.txt
[IMPORT]
21
22
23
24
25
gewünschten Ergebnisse 3 separate Dateien würde die Zeichenfolge aufgeteilt "[IMPORT]" Das ist in den Dateien enthalten.
Ergebnisse 1:
[IMPORT]
1
2
3
4
5
6
7
8
9
10
2:
[IMPORT]
11
12
13
14
15
16
17
18
19
20
Ergebnisse 3:
[IMPORT]
21
22
23
24
25
Aktuelle Code:
$Path = "\\C\users$\Pepe\Desktop\TestInfoFolder"
Get-ChildItem $Path | foreach-object {
$InputFile = $_.FullName
$Reader = New-Object System.IO.StreamReader($InputFile)
$N = 1
While (($Line = $Reader.ReadLine()) -ne $null) {
if ($Line -match "[IMPORT]") {
$OutputFile = $matches[0] + $N + ".txt"
$N++
}
Add-Content (Join-Path $Path $OutputFile) $Line
}
}
Das Problem mit der aktuellen Abfrage ist, dass es die Ergebnisse von TestingInfo2.txt in den Ergebnissen der Ergebnisse 1 anfügt. Bitte lassen Sie mich wissen, wenn Sie weitere Erläuterungen benötigen.
Da alle Ihre Importe das gleiche Wort sind, wird am Anfang jeder Datei '$ N = 1' gestartet. Setzen Sie '$ N = 1' vor die 'Get-ChildItem'-Zeile und es wird nur für immer gezählt. – TessellatingHeckler