Можно ли писать скрипты PowerShell с самоизменением? - PullRequest
2 голосов
/ 27 апреля 2011

Можно ли писать скрипты PowerShell с самоизменением?

Предположим, у меня есть скрипт с именем foo.ps1:

"Write-Host `"Goodbye world`"" | Set-Content "foo.ps1"
Write-Host "Hello world"

Этот скрипт печатает Hello world.Какие приемы я могу использовать, чтобы заставить его распечатать Goodbye world?

Ответы [ 2 ]

1 голос
/ 27 апреля 2011

Для меня это не имеет смысла, после того, как вы изменили сценарий, вам нужно повторно использовать его для получения новой статистики.

Этот скрипт сам меняется три раза:

Write-Host "Hello world"
"Write-Host `"Goodbye world`"" | Set-Content "foo.ps1"
. .\foo.ps1
"Write-Host `"Is really useful?`"" | Set-Content "foo.ps1"
. .\foo.ps1

и отпечатки:

Hello World
Goodbye World
Is really useful?

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

0 голосов
/ 27 апреля 2011

Да, вы, однако, я был бы, есть лучший способ сделать то, что вы и сделать.

C:(...)WindowsPowerShell >.\foo.ps1
Hello world
C:(...)WindowsPowerShell >.\foo.ps1
Goodbye world
C:(...)WindowsPowerShell >
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...