Папка Путь файла Powershell В Powershell - PullRequest
24 голосов
/ 30 января 2012

Кажется, никто не задает этот простой вопрос, поэтому я буду.

Мой файл сценария PowerShell находится: C:/this-folder/that-folder/another-folder/powershell-file.ps1

Как получить переменную, которая возвращает: C:/this-folder/that-folder/another-folder/

Ответы [ 4 ]

33 голосов
/ 30 января 2012

попробуйте эту команду в вашем скрипте:

Split-Path -parent $MyInvocation.MyCommand.Definition
17 голосов
/ 30 января 2012

В PowerShell 3.0 вы можете получить его с новой переменной $PSScriptRoot, а с $PSCommandPath вы можете получить полный путь к сценарию.

Есть также отличный пост от MVP Keith Hill, который вы можете проверить:

http://rkeithhill.wordpress.com/2010/09/19/determining-scriptdir-safely/

2 голосов
/ 30 января 2012

Я предполагаю, что вы хотите знать, в какой папке работает ваш скрипт, когда он запускается.

Это должно сделать это:

Split-Path $MyInvocation.MyCommand.Path
1 голос
/ 15 июня 2017

Вы можете использовать стандартный метод .Net

$dirName=[System.IO.Path]::GetDirectoryName("c:\temp\abc\myproj1\newdata.txt")

С http://techibee.com/powershell/powershell-get-parent-directory-name-from-file-or-directory-path/2595

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