使用PowerShell将文件预先添加到目录和子目录中的所有.cs文件中
时间:2020-03-05 18:56:23 来源:igfitidea点击:
如何使用Powershell将文件预添加(插入文件的开头)到文件夹和子文件夹中某个类型的所有文件中?
我需要向所有.cs添加标准头文件,并尝试使用Powershell这样做,但是尽管我能够将其添加到几行代码中,但在尝试预先添加它时却遇到了麻烦。
解决方案
回答
不知道,但是如果我们有要添加的代码,则以相反的方式进行操作。就像是
- 重命名现有文件,
- 创建一个与上面相同名称的空文件
- 将标题添加到新的空文件,
- 将重命名的文件添加到以前的文件,
- 删除重命名的文件
回答
从算法上讲,我们实际上并不需要一个临时文件:
1)读取需要修改的文件内容
2)修改内容(假设我们将内容包含在名为content的变量中,则为字符串),如下所示:content = header + content
3)搜寻文件的开头,每种语言都有一个搜寻方法或者一个等效的搜寻
4)写新内容
5)在文件指针返回的位置截断文件
那里有文件,没有临时文件。 :)
回答
这是一个非常简单的示例,向我们展示了可以完成此操作的一种方法。
$Content = "This is your content`n" Get-ChildItem *.cs | foreach-object { $FileContents = Get-Content -Path $_ Set-Content -Path $_ -Value ($Content + $FileContents) }