PowerShell中获取当前运行脚本路径的方法_PowerShell

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

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

复制代码 代码如下:

$x = $MyInvocation.MyCommand.Definition

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

复制代码 代码如下:

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

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

时间: 2024-09-03 07:51:18

PowerShell中获取当前运行脚本路径的方法_PowerShell的相关文章

Powershell中获取所有磁盘盘符的方法_PowerShell

快速获取当前电脑所有磁盘: 复制代码 代码如下: #requires -Version 1 [Environment]::GetLogicalDrives() 结果如下: 复制代码 代码如下: PS> C:\ D:\ E:\ F:\ G:\

PowerShell中使用正则表达式跨行匹配字符串的方法_PowerShell

本文介绍在PowerShell中当使用正则表达式时遇到多行字符串,如何进行跨行匹配的问题. PowerShell中使用正则表达式来匹配搜索字符串是非常常用的一个操作.但如果遇到一个字符串有多行时,常规的正则表达式,无法正常工作. 不信请看: 复制代码 代码如下: PS C:\Users\spaybow> "1111`n2222" -match "^1.*2$" False PS C:\Users\spaybow> "1111`n2222&quo

PowerShell中定义多行字符串变量的方法_PowerShell

本文介绍PowerShell中如何定义一个跨多行的字符串变量,定义多行字符串时使用@"开始,使用"@结束. 有没有遇到这样一种情况,我们想创建一个变量来保存一个跨行的字符串. 是不是对怎么输入很头疼啊?其它编程语言有没有办法我不知道,但在PowerShell中,有一个很简单的办法,那就是使用@字符. 举例如下: 复制代码 代码如下: $str = @" 字符串的第1行 字符串的第2行 -- 字符串的第n行 "@ 注意在"@""之后,不要

PowerShell中使用通配符匹配文件路径的例子_PowerShell

星号(*)在DOS的时代,就是通配符(英文叫Wildcard)的代表.从DOS到Windows,再到PowerShell,星号一如既往的坚守在通配符的岗位上. 简单看个例子: 复制代码 代码如下: PS [zhanghong] >dir d:\*.vbs    目录: D:\ Mode                LastWriteTime     Length Name ----                -------------     ------ ---- -a---      

数据库-android 从SQLLite中获取到的图片路径,用Bitmap 加载不出来

问题描述 android 从SQLLite中获取到的图片路径,用Bitmap 加载不出来 android 从SQLLite中获取到的图片路径,用Bitmap 加载不出来,但是从本地文件中获取到的路径可以正常加载显示 下面是这两种方式的主要代码 //从数据库获取路径并加载 for (DiagHistory diagHistory : diagLists) { String path = diagHistory.getHistoryPic(); Bitmap bitmap =BitmapFactor

测试用例-如何在Eclipse中获取Ant运行的结果数据

问题描述 如何在Eclipse中获取Ant运行的结果数据 我想让Ant运行测试用例,并得出测试结果,这一步已经实现了.那么我如何让Eclipse得到Ant 运行的结果呢? 解决方案 同问啊,兄台有答案了共享一下啊

JavaScript获取当前运行脚本文件所在目录的方法_javascript技巧

本文实例讲述了JavaScript获取当前运行脚本文件所在目录的方法.分享给大家供大家参考,具体如下: DirectoryUtility = { // function getCurrentDirectory: returns currentDirectory path // with a trailing backslash. getCurrentDirectory : function ( ) { var scriptFullName = WScript.ScriptFullName; va

在Android中 获取正在运行的Service 实例_Android

public class ServiceList extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); ActivityManager activityManger = (ActivityManager) getSystemService(ACTIV

在Android中 获取正在运行的Service 实例

public class ServiceList extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); ActivityManager activityManger = (ActivityManager) getSystemService(ACTIV