Помните, что вообще то, что работает в скрипте, должно работать в командной строке .
Это не было правдой в CMD. GOTO
и FOR %I IN (...) DO %%I
являются двумя примерами.
В PowerShell я могу запускать команды в командной строке до тех пор, пока не получу нужный результат, затем вставить историю в скрипт, а затем отредактировать посторонние биты.
Кроме того, я могу взять скрипт, который работает некорректно, вставить его в интерактивную оболочку и изучить полученное состояние.
В интерактивной командной строке вы никак не могли бы написать это:
F
function F { "Hello, World!" }
Однако при чтении скрипта я хочу сначала прочитать код верхнего уровня, а затем прокрутить вниз более детально. Один из подходов:
function Main
{
F
}
function F
{
"Hello, World!"
}
Main