将目录更改为操作脚本的位置

时间:2014-06-09 12:05:17

标签: powershell powershell-ise

所以,我可以用

找到脚本的目录
function Get-ScriptDirectory { Split-Path -parent $PSCommandPath }

但我无法将目录更改为保存脚本的文件夹。例如

cd d:\MyScripts\

类似

cd function Get-ScriptDirectory { Split-Path -parent $PSCommandPath }

不起作用。

抱歉,如果这是一个常见且愚蠢的问题,但我是PowerShell的新手,我在发布之前进行了搜索和尝试了很多次

1 个答案:

答案 0 :(得分:1)

你可以像下面这样做。您可以在脚本中包含代码示例。然后,如果您从其他位置运行脚本(通过完全限定路径名到脚本); $MyInvocation将获取调用位置。

来自Documentation

$MyInvocation
   Contains an information about the current command, such as the name, 
   parameters, parameter values, and information about how the command was
   started, called, or "invoked," such as the name of the script that called
   the current command.

代码示例

$scriptpath = $MyInvocation.MyCommand.Path
$dir = Split-Path $scriptpath
cd $dir