PowerShell を使用して、ディレクトリおよびサブディレクトリ内のすべての .cs ファイルにファイルをプリペンディングする
-
09-06-2019 - |
質問
Powershell を使用して、フォルダーおよびサブフォルダー内の特定の種類のすべてのファイルにファイルを先頭に追加 (ファイルの先頭に挿入) するにはどうすればよいですか?
すべての .cs に標準ヘッダー ファイルを追加する必要があり、Powershell を使用しようとしていましたが、数行のコードでヘッダー ファイルを追加できましたが、先頭に追加しようとしたときにスタックしてしまいました。
解決
これを行う方法の 1 つを示す、非常に簡単な例を次に示します。
$Content = "This is your content`n"
Get-ChildItem *.cs | foreach-object {
$FileContents = Get-Content -Path $_
Set-Content -Path $_ -Value ($Content + $FileContents)
}
他のヒント
わかりませんが、追加するコードがある場合は、逆の手順で実行してください。何かのようなもの
- 既存のファイルの名前を変更し、
- 上記と同じ名前の空のファイルを作成します
- 新しい空のファイルにヘッダーを追加します。
- 名前を変更したファイルを前に追加します。
- 名前を変更したファイルを削除する
アルゴリズム的に言えば、一時ファイルは実際には必要ありません。
1) 変更する必要があるファイルの内容を読み取ります。
2)次のように、コンテンツを変更します(コンテンツが content という名前の変数にあると仮定して、文字列として):コンテンツ = ヘッダー + コンテンツ
3) ファイルの先頭までシークします。各言語にはシーク メソッドまたはシーク同等のメソッドがあります。
4)新しいコンテンツを書く
5) ファイルポインタによって返された位置でファイルを切り詰めます。
一時ファイルはありません。:)
所属していません StackOverflow