PowerShell中获取当前运行脚本路径的方法(powershell获取指定字符串)真没想到

随心笔谈9个月前发布 admin
256 00
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

文章摘要

在PowerShell中,无法直接使用如`%~dp0`这样在CMD中获取脚本所在文件夹的方法。不过,可以通过内置的变量`$MyInvocation`和命令`Split-Path -Parent`来实现。具体步骤如下: 1. 使用`$x=$MyInvocation.MyCommand.Definition`获取当前脚本的绝对路径; 2. 使用`$x=Split-Path -Parent $MyInvocation.MyCommand.Definition`提取脚本所在的文件夹路径。 这种方法简洁高效,能够快速获取脚本的父路径。



在运行脚本的时候,有时候需要通过脚本文件所在位置的相对路径来做一些事,比如执行另一个脚本。以前在CMD时代,可以通过%~dp0来获取脚本所在的文件夹,那在PowerShell中要怎么做呢?

很简单,通过内置的$MyInvocation变量:

复制代码 代码如下:

$x=$MyInvocation.MyCommand.Definition

此时$x的值是当前运行中的脚本的绝对路径,再用Split-Path取它的父路径就可以了:

复制代码 代码如下:

$x=Split-Path -Parent $MyInvocation.MyCommand.Definition

这样$x的值就是脚本所在的文件夹了……

© 版权声明

相关文章