Рекурсивно перезаписать все .txt файлы в папке - PullRequest
1 голос
/ 12 июня 2019

Какой код я могу использовать в PowerShell для перезаписи содержимого всех файлов .txt в папке и подкаталогах?До сих пор я пытался использовать следующее.

Получить все текстовые файлы, включая файлы в подкаталогах, и сохранить их в переменной t:

$t = get-childitem *txt -recurse

Затем с помощью set-contentКомандлет для записи во все файлы

set-content $t -value 'hello'

Но, похоже, это не работает.Пожалуйста помоги.

PS: я новичок.

1 Ответ

1 голос
/ 13 июня 2019

Нет необходимости в переменной $t.Вы можете использовать канал:

Get-ChildItem -Filter *.txt -Recurse | Set-Content -Value 'Hello!'

Это заполнит все файлы в каталоге, в котором вы находитесь, а также все подкаталоги Hello!

Если вам по какой-либо причине необходимо выполнить обработкуи если вам нужны файлы в переменной, вы можете использовать цепочку каналов или просто передать переменную по конвейеру:

$t = Get-ChildItem -Filter *.txt -Recurse
# Do stuff with $t
$t | Set-Content -Value 'Hello!'

Документация Microsoft:

Set-Content

Get-ChildItem

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...