Предварительное ожидание файла для всех файлов .cs в каталоге и подкаталоге с помощью PowerShell - PullRequest
3 голосов
/ 16 сентября 2008

Как я могу предварительно (вставить в начале файла) файл ко всем файлам типа в папке и подпапках, используя Powershell?

Мне нужно добавить стандартный заголовочный файл ко всем .cs, и я пытался использовать Powershell для этого, но, хотя я смог добавить его в несколько строк кода, я застрял, когда пытался предварительно его дождаться.

Ответы [ 3 ]

9 голосов
/ 16 сентября 2008

Вот очень простой пример, показывающий, как это можно сделать.

$Content = "This is your content`n"
Get-ChildItem *.cs | foreach-object { 
$FileContents = Get-Content -Path $_
Set-Content -Path $_ -Value ($Content + $FileContents)
}
1 голос
/ 16 сентября 2008

Алгоритмически говоря, вам не нужен временный файл:

1) прочитать содержимое файла, который нужно изменить

2) изменить содержимое (в виде строки, предполагая, что у вас есть содержимое в переменной с именем content), например: content = header + content

3) поиск в начале файла, каждый язык имеет метод поиска или эквивалент поиска

4) написать новый контент

5) обрезать файл до позиции, возвращаемой указателем файла

Там у вас это есть, временного файла нет. :)

1 голос
/ 16 сентября 2008

Понятия не имею, но если у вас есть код для добавления, просто сделайте это наоборот. Что-то вроде

  1. переименовать существующий файл,
  2. создать пустой файл с таким же именем, как указано выше
  3. добавить заголовок в новый пустой файл,
  4. добавить переименованный файл к предыдущему,
  5. удалить переименованный файл
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...