Информация об изменениях

Сообщение Re[12]: Простой генератор sitemap под винду от 19.01.2020 14:22

Изменено 19.01.2020 15:19 Евгений Музыченко

Re[12]: Простой генератор sitemap под винду
Здравствуйте, Somescout, Вы писали:

S>Честно говоря у меня нет идей — за несколько лет ежедневной работы с PS с такой проблемой не встречался.


Я посмотрел свойства процесса, и обнаружил, что ни FAR, из которого запускаю, ни cmd.exe не передают ему командную строку — только имя файла. У меня вообще команда Open для типа .ps1 изначально был связан с NotePad — уж не знаю, как оно так связалось. Я ее связал с powershell.exe через стандартный гуйный File Type Associations — оно прописало в Command/Open 'powershell.exe "%1"'. Добавление "%*" к этой строке эффекта не дает — более того, я испортил имя файла во всех вхождениях Command/Open и Command/0, найденных в HKLM\Software\Classes, а powershell.exe продолжает автоматически запускаться на .ps1. Явно где-то что-то кэшируется, надо попробовать перелогиниваться/перегружаться.

S>А что именно не нравится в синтаксисе?


Имена переменных, начинающиеся с доллара, типы в квадратных скобках, операторы "-eq" и т.п. вместо нормальных знаков сравнения, и еще до фига чего. Я понимаю, что драли с нечеловеческого башевского недоязыка, но тогда уж и драли бы один-в-один, для совместимости. А свое собственное могли бы сделать и поизящнее.

P.S. Забыл добавить, что пытался запускать и через

powershell.exe -File xxx -Path yyy

В этом случае жалуется, что ей неизвестен параметр "Path". То есть, явно где-то съедается префиксное тире.

И проверил в виртуалке с Win7 — там .ps1 так же был по умолчанию связан с NotePad.

Какие после всего этого могут быть доводы против того, что это поделие убого?
Re[12]: Простой генератор sitemap под винду
Здравствуйте, Somescout, Вы писали:

S>Честно говоря у меня нет идей — за несколько лет ежедневной работы с PS с такой проблемой не встречался.


Я посмотрел свойства процесса, и обнаружил, что ни FAR, из которого запускаю, ни cmd.exe не передают ему командную строку — только имя файла. У меня вообще команда Open для типа .ps1 изначально был связан с NotePad — уж не знаю, как оно так связалось. Я ее связал с powershell.exe через стандартный гуйный File Type Associations — оно прописало в Command/Open 'powershell.exe "%1"'. Добавление "%*" к этой строке эффекта не дает — более того, я испортил имя файла во всех вхождениях Command/Open и Command/0, найденных в HKLM\Software\Classes, а powershell.exe продолжает автоматически запускаться на .ps1. Явно где-то что-то кэшируется, надо попробовать перелогиниваться/перегружаться.

S>А что именно не нравится в синтаксисе?


Имена переменных, начинающиеся с доллара, типы в квадратных скобках, операторы "-eq" и т.п. вместо нормальных знаков сравнения, и еще до фига чего. Я понимаю, что драли с нечеловеческого башевского недоязыка, но тогда уж и драли бы один-в-один, для совместимости. А свое собственное могли бы сделать и поизящнее.

P.S. Забыл добавить, что пытался запускать и через

powershell.exe -File xxx -Path yyy

В этом случае жалуется, что ей неизвестен параметр "Path". То есть, явно где-то съедается префиксное тире.

И проверил в виртуалке с Win7 — там .ps1 так же был по умолчанию связан с NotePad.

Какие после всего этого могут быть доводы против того, что это поделие убого?

P.P.S. В виртуалке версия 1.0 по вышеприведенной командной строке с -File нормально передает параметры, а на хосте версия 5.1 съедает тире. Ужас.