Ich versuche, eine Textdatei zu erstellen, die den Inhalt meiner verketteten Quellcode-Dateien enthält. Ich habe kam mit dem folgenden prägnanten Code auf:Kombinieren von Text aus mehreren Dateien in einer einzigen Datei
Get-ChildItem -Recurse MySourcePath -Include "*.htm", "*.cs" | Foreach-Object
{Get-Content $_.FullName | Add-Content MyFile.txt}
Das Problem ist, nach mehreren Dateien (Hunderte oder Tausende), ich fange an die folgenden Fehler zu erhalten:
Add-Content : The process cannot access the file 'MyFile.txt' because it is being used by another process.
Es scheint, wie Concurrency Problem und ich dachte, es war mit dem Pipelining-Mechanismus verwandt, aber foreach
löste das Problem nicht.
Was ist der richtige Weg in der PowerShell, um meine Datei vor mehreren Schreibvorgängen zu schützen? Gibt es eine Möglichkeit, die Pipeline noch zu nutzen?
Es hat den Trick! Ich könnte mir nicht vorstellen, dass es kürzer (und besser) werden könnte ... Was ist deine persönliche Vorliebe? Verwenden Sie die vollständigen Cmdlet-Namen oder die Verknüpfungen? –
Ich bevorzuge Cmdletname, bessere Lisibility;) – Esperento57