在运行脚本的时候,有时候需要通过脚本文件所在目录路径来做一些事,

如脚本5201351.ps1脚本,

常规思路实现>>>>:

1、如果要获取这个脚本所在的绝对路径,可以使用内置的$MyInvocation变量($MyInvocation.MyCommand.Definition)

$script_fullname=$MyInvocation.MyCommand.Definition
echo $script_fullname #输出结果格式:C:\Users\5201351\Desktop\5201351.ps1

2、如果要获取脚本所在的目录名,

$script_dir = Split-Path -Parent $MyInvocation.MyCommand.Definition
echo $script_dir #输出结果格式:C:\Users\5201351\Desktop

补充:直接进入脚本所在目录,也可以直接写 cd  (Split-Path -Parent $MyInvocation.MyCommand.Definition)

对于目录名中有空格,先声明变量,再进入,或者直接上面一条命令进入,都是可以正常进入的!

换一种思路实现>>>>>:  

1、可以在脚本的最前面,就通过Get-Location取当前的工作目录(类似pwd功能),这样当前工作目录也就是脚本所在的目录了

$PWD_PATH = Get-Location

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/13595153.html

Powershell编程基础-003-脚本的绝对路径及所在的目录的更多相关文章

  1. Powershell编程基础-004-for语句的使用

    For循环在PowerShell中也称为For语句. 同其他编程语言类似 当指定条件的值为True时,此循环以代码块的形式执行语句,另,For后面接(;;)代表恒为真! 实例1:用于执行指定次数的语句 ...

  2. Powershell编程基础-002-日期及日期格式化

    在Powershell中,关于日期,时间计算与格式化,常用的如下: $today=Get-Date                                                    ...

  3. Powershell编程基础-001-基本语法

    变量的定义:$a="abc"         变量的引用也是echo $a 注释: 1.单行注释:单行注释是在每行的开头键入井号#的注释. #符号右边的所有内容都将被忽略,也可以在 ...

  4. bash脚本获取绝对路径的最后一个目录名称

    比如绝对路径是/root/autoHls/streamID 因为脚本里面想直接用这个streamID来推流 下面是方法 #!/bin/bash dir="/root/autoHls" ...

  5. 三.Shell脚本提取文件名称和所在的目录

    一·简介 提取文件名称或者目录,一般都会使用到#,##,%和%%,但是他们的区别很容易记混淆了.在一下4种方式中,目标匹配字符是不在结果中. #:表示从左开始算起,并且截取第一个匹配的字符 ##:表示 ...

  6. Linux Shell脚本编程-基础1

    概述:  shell脚本在Linux系统管理员的运维工作中非常重要.shell脚本能够帮助我们很方便的管理服务器,因为我们可以指定一个任务计划,定时的去执行某一个脚本以满足我们的需求.本篇将从编程基础 ...

  7. Swift - 常用文件目录路径获取(Home目录,文档目录,缓存目录等)

    当前位置: 首页 > 编程社区 > Swift > Swift - 常用文件目录路径获取(Home目录,文档目录,缓存目录等) Swift - 常用文件目录路径获取(Home目录,文 ...

  8. shell脚本编程基础

       最近学习了shell脚本编程,感觉自己的脚本写的不太好,所以想把shell脚本相关的知识系统的整理一下,便于以后的学习和使用. 一.shell脚本基础    shell脚本是利用shell的功能 ...

  9. Linux基础篇–shell脚本编程基础

    本章内容概要  编程基础  脚本基本格式  变量  运算  条件测试  配置用户环境 7.1 编程基础程序:指令+数据程序编程风格:   过程式:以指令为中心,数据服务于指令   对象式:以数据为中心 ...

随机推荐

  1. JavaScript学习系列博客_15_栈内存、堆内存

    栈内存 - JS中的变量都是保存到栈内存中的,- 基本数据类型的值直接在栈内存中存储,- 值与值之间是独立存在,修改一个变量不会影响其他的变量 堆内存 - 对象是保存到堆内存中的,每创建一个新的对象, ...

  2. go 多线程并发 queue demo

    原文链接:Writing worker queues, in Go 1.work.go [root@wangjq queue]# cat work.go package main import &qu ...

  3. Go interface 操作示例

    原文链接:Go interface操作示例 特点: 1. interface 是一种类型 interface 是一种具有一组方法的类型,这些方法定义了 interface 的行为.go 允许不带任何方 ...

  4. 个人项目作业WC(JAVA)

    GitHub地址:https://github.com/1666403186/WC 一.题目描述 Word Count1. 实现一个简单而完整的软件工具(源程序特征统计程序).2. 进行单元测试.回归 ...

  5. C语言中存储多个字符串的两种方式

    C语言中存储多个字符串的两种方式 方式一    二维字符串数组 声明: char name[][] = { "Justinian", "Momo", " ...

  6. Linux安装Rabbitmq3.8.5

    安装环境: 操作系统为:centOS-7 erlang版本为22.3,软件包:otp_src_22.3.tar.gz rabbitMQ版本为3.8.5,软件包:rabbitmq-server-gene ...

  7. Vulkan相关资源

    https://github.com/KhronosGroup/Khronosdotorg/blob/master/api/vulkan/resources.md Intel API without ...

  8. ACwing 你能回答这些问题吗(线段树求最大连续字段和)

    给定长度为N的数列A,以及M条指令,每条指令可能是以下两种之一: 1.“1 x y”,查询区间 [x,y] 中的最大连续子段和,即 maxx≤l≤r≤ymaxx≤l≤r≤y{∑ri=lA[i]∑i=l ...

  9. element.ui 自定义样式问题

    方法有很多种 自定义类名 <el-button class="search_button" @click="search">查询</el-bu ...

  10. OpenvSwitch系列之七 meter表限速

    Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl命令使用 Open vSwit ...