Ich versuche, Powershell zu verwenden, um große Protokolldateien in separate Dateien aufzuteilen, damit ich sie anzeigen kann. Ich habe Code online gefunden, um mich zu starten, und ich habe ihn jetzt an meine Bedürfnisse angepasst. Das Problem, das ich habe, ist, dass ich möchte, dass das Skript in einem anderen Ordner als der Protokolldatei gespeichert wird, aber die geteilten Dateien im selben Ordner wie die Protokolldatei erstellt werden. Derzeit teilt es die Protokolldateien in demselben Ordner auf, in dem sich das Skript befindet. Ich habe versucht, die Datei set-location(split-path $filename -parent -resolve)
zu ändern, die das Verzeichnis in den Ordner ändert, in dem sich die Protokolldatei befindet, aber die geteilten Protokolldateien immer noch in den Ordner spuckt, in dem sich das Skript befindet. Jede Hilfe wird sehr geschätzt werden Vielen Dank.Protokolldateien im selben Ordner wie Protokolldatei teilen
#split test
param (
[string] $filename = $null
)
$sw = new-object System.Diagnostics.Stopwatch
$sw.Start()
$rootName = [io.path]::GetFileNameWithoutExtension($filename)
$ext = [io.path]::GetExtension($filename)
$linesperFile = 100000#100k
$filecount = 1
$reader = $null
Set-Location(split-path $filename -parent -resolve)
try{
$reader = [io.file]::OpenText($filename)
try{
"Creating file number $filecount"
$writer = [io.file]::CreateText("{0}-{1}{2}" -f ($rootName,$filecount.ToString("000"),$ext))
$filecount++
$linecount = 0
while($reader.EndOfStream -ne $true) {
"Reading $linesperFile"
while(($linecount -lt $linesperFile) -and ($reader.EndOfStream -ne $true)){
$writer.WriteLine($reader.ReadLine());
$linecount++
}
if($reader.EndOfStream -ne $true) {
"Closing file"
$writer.Dispose();
"Creating file number $filecount"
$writer = [io.file]::CreateText("{0}-{1}{2}" -f ($rootName,$filecount.ToString("000"),$ext))
$filecount++
$linecount = 0
}
}
} finally {
$writer.Dispose();
}
} finally {
$reader.Dispose();
}
$sw.Stop()
Write-Host "Split complete in " $sw.Elapsed.TotalSeconds "seconds"
See [meine Antwort] (http://stackoverflow.com/a/32379304/4424236) für diese Frage: [Split-Text Datei in kleinere Dateien basierend auf Größe (Windows)] (http://stackoverflow.com/questions/32360801/split-text-file-into-smaller-files-based-on-size-windows). – beatcracker