Как я могу получить местоположение файловой системы сценария PowerShell?

Мне определили местоположение сценария PowerShell в D:\temp.

Когда я запускаю этот скрипт, я хочу, чтобы текущее местоположение файла было перечислено. Как я делаю это?

Например, этот код выполнил бы его в пакетном файле DOS; я пытаюсь преобразовать это в сценарий PowerShell...

FOR /f "usebackq tokens=*" %%a IN ('%0') DO SET this_cmds_dir=%%~dpa
CD /d "%this_cmds_dir%"
60
задан 1 December 2014 в 01:36

1 ответ

Если это имеет значение я нашел, что это работает на меня на PowerShell V5 в сценариях и в PowerShell ISE:

try {
    $scriptPath = $PSScriptRoot
    if (!$scriptPath)
    {
        if ($psISE)
        {
            $scriptPath = Split-Path -Parent -Path $psISE.CurrentFile.FullPath
        } else {
            Write-Host -ForegroundColor Red "Cannot resolve script file's path"
            exit 1
        }
    }
} catch {
    Write-Host -ForegroundColor Red "Caught Exception: $($Error[0].Exception.Message)"
    exit 2
}

Write-Host "Path: $scriptPath"

HTH

P.S. Включенная полная обработка ошибок. Корректируйтесь к своим потребностям, соответственно.

0
ответ дан 1 November 2019 в 09:57

Другие вопросы по тегам:

Похожие вопросы: