文章摘要
在PowerShell中,可以通过内置的`$MyInvocation`变量获取当前脚本的绝对路径,然后使用`Split-Path -Parent`方法提取脚本所在的文件夹。具体步骤如下:
1. 使用`$x=$MyInvocation.MyCommand.Definition`获取当前脚本的绝对路径。
2. 使用`$x=Split-Path -Parent $MyInvocation.MyCommand.Definition`提取脚本所在的文件夹路径。
这种方法解决了CMD环境中通过`%~dp0`获取文件夹路径的问题,适用于需要根据脚本位置进行操作的场景。
在运行脚本的时候,有时候需要通过脚本文件所在位置的相对路径来做一些事,比如执行另一个脚本。以前在CMD时代,可以通过%~dp0来获取脚本所在的文件夹,那在PowerShell中要怎么做呢?
很简单,通过内置的$MyInvocation变量:
复制代码 代码如下:
$x=$MyInvocation.MyCommand.Definition
此时$x的值是当前运行中的脚本的绝对路径,再用Split-Path取它的父路径就可以了:
复制代码 代码如下:
$x=Split-Path -Parent $MyInvocation.MyCommand.Definition
这样$x的值就是脚本所在的文件夹了……
© 版权声明
文章版权归作者所有,未经允许请勿转载。