我试图创建一个包含我的源代码文件连接的内容的文本文件。我想出了以下简洁的代码:将多个文件中的文本合并到一个文件中
Get-ChildItem -Recurse MySourcePath -Include "*.htm", "*.cs" | Foreach-Object
{Get-Content $_.FullName | Add-Content MyFile.txt}
的问题是,经过多个文件(数百或数千),我开始得到以下错误:
Add-Content : The process cannot access the file 'MyFile.txt' because it is being used by another process.
似乎像并发问题,我认为它与流水线机制有关,但使用foreach
并没有解决问题。
PowerShell中保护我的文件免受多次写入的正确方法是什么?有没有办法继续使用管道?
它做到了!我无法想象它会变得更短(更好)......你个人的偏好是什么?使用完整的cmdlet名称或快捷方式? –
我首先使用cmdletname,更好的可听性;) – Esperento57