PowerShell - свойство piped не работает, как я надеялся - PullRequest
0 голосов
/ 03 ноября 2011

Я немного новичок в PowerShell, так что это, вероятно, основной вопрос.

Я написал небольшую однострочную строку для удаления первых 97 строк в верхней части каждого текстового файла в каталоге.

Скрипт работает даже до удаления строки, но новый файл, созданный в конце, не имеет ожидаемого имени.Вот сценарий:

Get-ChildItem | ForEach-Object {Get-Content $_.PSPath | Select -Skip 97 | Set-Content "Edited-$_.PSChildName" }

Исходный файл называется: file.txt Я ожидаю, что новый файл будет называться: Edited-file.txt Файл на самом деле выглядит как: Edited-file.txt.PSChildName

Есть идеи, что я делаю не так?

1 Ответ

4 голосов
/ 03 ноября 2011

Я думаю, что вы хотите Set-Content "Edited-$($_.PSChildName)". $() позволяет интерполировать выражения в строки, например, «abc $ (2 + 2)» возвращает строку «abc4».

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