4

В сценарии PS как я могу получить объект, который представляет или указывает на файл сценария? Что-то вроде get-currenttscript.

Что я действительно хочу сделать, так это получить время создания и / или изменения файла скрипта. Предположительно это можно было бы получить из объекта файла скрипта. Конечно, я мог бы также использовать тупую спецификацию старого файла для текущего файла сценария.

1 ответ1

6

Проверьте этот ответ на StackOverflow:

Хотя в большинстве случаев текущий ответ верен, в некоторых ситуациях он не дает правильного ответа. Если вы используете внутри скрипта функции, то:

$MyInvocation.MyCommand.Name

Возвращает имя функции вместо имени имени скрипта.

function test { $MyInvocation.MyCommand.Name }

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

$MyInvocation.ScriptName

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

split-path $MyInvocation.PSCommandPath -Leaf

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .