2017-01-17 6 views
1

Когда я проверяю свою оперативную функцию Powershell, я заметил, что $ExecutionContext.SessionState.Path.CurrentLocation используется для получения текущего пути, поэтому в чем разница между этим и $pwd?

ответ

1
PS C:\>$ExecutionContext.SessionState.Path.CurrentLocation 

Path 
---- 
C:\ 

PS C:\>$ExecutionContext.SessionState.Path.CurrentLocation.GetType().FullName 
System.Management.Automation.PathInfo 
PS C:\>$PWD 

Path 
---- 
C:\ 

PS C:\>$PWD.GetType().FullName 
System.Management.Automation.PathInfo

Таким образом, в основном разница в том, что $ExecutionContext.SessionState.Path.CurrentLocation требует значительно большего набора, чем $PWD.

0

$ExecutionContext.SessionState.Path.CurrentLocation и $PWD на самом деле есть разница.

При использовании $PWD на самом деле вы получите результат $ExecutionContext.SessionState.Path.CurrentLocation,

в то время как при использовании $ExecutionContext вы получите больше собственности о контексте выполнения.

+0

Действительно ли это ответ? Конечно, сам 'ExecutionModel' будет иметь больше информации, чем' SessionState.Path.CurrentLocation'. –

+0

@ Christian.K: Я имею в виду, что это похоже на дерево, содержащее много ветвей контента, один из которых - $ PWD. но не основная ветвь в малой ветви, например sessionstate.path –

+1

Да, но ОП задает разницу между «_branches_»: $ ExecutionContext.SessionState.Path.CurrentLocation и $ PWD. –