Я пытаюсь найти все файлы .aspx
в каталоге и всех его дочерних папках, чтобы добавить тег под тегом <head>
. Родительские каталоги могут содержать .aspx
файлов в них, а также дочерние папки.PowerShell - Использование -Recurse и -Filter для добавления ко всем файлам в каталоге
Других слов, я хочу, чтобы выбрать все .aspx
файлов внутри этого каталога, а также все .aspx
файлов в своих дочерних папках, ВСЕ .aspx
файлов в детях этих детей и т.д. Я использую следующий код PowerShell фрагмент коду для сделать так:
$files = Get-ChildItem -Path C:\Users\apgdy\Downloads\test_proj -recurse -filter "*.aspx"
Когда я бегу, что в консоли PowerShell и отображать содержимое $files
, я получаю все файлы, которые я ожидаю, отображаемых в экранном буфере. Однако, когда я пытаюсь добавить текст в файл, используя следующий код, я получаю сообщение об ошибке:
Код:
$textIsAddedAfter = "<head>"
$textToAdd = " <sometag>"
ForEach ($file in $files) {
(Get-Content $file) |
Foreach-Object {
$_
if($_ -match $textIsAddedAfter) {
$textToAdd
}
} |
Set-Content $file
}
Ошибка:
Get-Content : cannot find path 'C:\users\apgdy\test.aspx' because it does not exist.
At line:2 char:17
+ <Get-Content <<<< $file> |
+ CategoryInfo : ObjectNotFound: <C:\Users\apgdy\test2.aspx:String
> [Get-Content], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetCo
ntentCommand
я один из тех, для каждого файл, который он находит в $files
Что странно в том, что в коде я сказал консоли, что файлы существуют в "C:\users\apgdy\Downloads\test_proj"
и его дочерних, а не "C:\users\apgdy"
. Почему он опустил "\Downloads\test_proj"
из каталога, в котором я сказал, чтобы искать файлы?
Заранее благодарен!
Awesome! Я использовал свойство .Fullname в get-content и set-content, и он работал отлично. Благодаря тонну! –