PowerShell中把相对路径转换为绝对路径的2个方法_PowerShell

在PowerShell中,有时候,我们需要把当前的相对路径解析为绝对路径,比如".\test.txt",我们想知道它的绝对路径的话,我们有两种方法可以实现。

1、有一个cmd-let,它叫Resolve-Path。

语法如下:

复制代码 代码如下:

Resolve-Path <相对路径>

如果指定的相对路径的文件或文件夹,不存在,则将提示如下:

复制代码 代码如下:

PS C:\Users\zhanghong> Resolve-Path .\test.txt

Resolve-Path : 找不到路径“C:\Users\zhanghong\test.txt”,因为该路径不存在。
所在位置 行:1 字符: 13

复制代码 代码如下:

+ Resolve-Path <<<<  .\test.txt
   + CategoryInfo          : ObjectNotFound: (C:\Users\zhanghong\test.txt:Str
  ing) [Resolve-Path], ItemNotFoundException
   + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.Resol
  vePathCommand

 
如果位置存在,则提示找到的路径:

复制代码 代码如下:

PS C:\Users\zhanghong> Resolve-Path .\music
Path
----
C:\Users\zhanghong\music

2、使用$ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath方法

这个方法的好处是,不管这个相对路径的文件或文件夹存不存在,都可以顺利的它解析为绝对路径。

举例如下:

复制代码 代码如下:

PS C:\Users\zhanghong> $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath('.\file.txt')
C:\Users\zhanghong\file.txt

实际上,小编的这个C:\Users\zhanghong\file.txt文件是不存在的。

时间: 2024-07-29 11:30:24

PowerShell中把相对路径转换为绝对路径的2个方法_PowerShell的相关文章

PowerShell中捕获异常时的行号和列号的方法_PowerShell

如果自己写函数动态地去执行一些脚本块或者脚本文件,那么捕获到异常时行号和列号信息非常有用.例如脚本文件: 复制代码 代码如下: trap{ $info=$_.InvocationInfo "在第{0}行,第{1}列捕获到异常:{2}" -f $info.ScriptLineNumber,$info.OffsetInLine ,$_.Exception.Message continue }   get-date 1gb/2kb Get-Service | foreach {1/0} 执行

如何将网页源码中../等相对路径转换为绝对路径??

问题描述 获取一个网页的代码后,,里面的文件路径都是相对路径,,有没有专门的类来将这些路径转换为绝对路径呢??如,177ks.com首页,/index.aspx转换为http://www.177ks.com/index.aspx 解决方案 解决方案二:.net有专门的类解决方案三:字符串操作replace解决方案四:不会,顶下,期待结果解决方案五:Server.mappath("path")解决方案六:URL重写解决方案七:绝对路径不利于部署...为什么要转换呢?

ASP.NET将Web站点下的绝对路径转换为虚拟路径

asp.net|web|站点|转换 很经常使用到的一个功能,但在在网上却一直没有找到相关的解决方法,今天借着项目应用到的机会写了两个将绝对路径转换为虚拟路径封装好的方法将Web站点下的绝对路径转换为相对于指定页面的虚拟路径/**//// <summary>/// 将Web站点下的绝对路径转换为相对于指定页面的虚拟路径/// </summary>/// <param name="page">当前页面指针,一般为this</param>///

asp中将相对路径转换为绝对路径的函数代码_应用技巧

复制代码 代码如下: '================================================ ' 函数名:ChkMapPath ' 作 用:相对路径转换为绝对路径 ' 参 数:strPath ----原路径 ' 返回值:绝对路径 '================================================ Function ChkMapPath(ByVal strPath) Dim fullPath strPath = Replace(Repla

asp中将相对路径转换为绝对路径的函数代码

复制代码 代码如下: '================================================ ' 函数名:ChkMapPath ' 作 用:相对路径转换为绝对路径 ' 参 数:strPath ----原路径 ' 返回值:绝对路径 '================================================ Function ChkMapPath(ByVal strPath) Dim fullPath strPath = Replace(Repla

PowerShell中删除空格、点号、减号和换行方法代码实例

  这篇文章主要介绍了PowerShell中删除空格.点号.减号和换行方法代码实例,本文直接给出实例代码,需要的朋友可以参考下 代码如下: $text = ' ... Hello ...--- ' $text.Trim(" .-`t`n`r") 结果只显示:Hello

PowerShell中使用ArrayList实现数组插入、删除、添加例子_PowerShell

PowerShell中对数组进行插入.删除.添加数组元素的操作是很不方便,而且效率也是很低下的.那是因为数组对象本身并没有插入和删除的功能,每次的操作都是将数组整个拷贝到一个新的数组中.这个过程太消耗资源. 如果我们把Array对象转换为ArrayList对象,那一切问题都解决了.ArrayList有InsertAt()和RemoveAt()方法,所以在处理数组元素的插入和删除操作时更方便快捷,而且事实上效率也更高. $array = 1..10 [System.Collections.Arra

PowerShell中使用Get-Date获取日期时间并格式化输出的例子_PowerShell

在PowerShell中有一个Get-Date的cmdlet,使用它可以直接返回当前的日期和时间.使用-Format参数可以返回当前的年.月.日.时.分.秒等. Get-Date的直接使用 在PowerShell中直接调用Get-Date,可以返回当前的日期和时间,包括年.月.日.时.分.秒.举例如下: 复制代码 代码如下: PS C:\Users\zhanghong> Get-Date 2013年9月9日 22:26:56 Write-Host中使用Get-Date 注意:在Write-Hos

PowerShell函数参数设置为即可选又必选的方法_PowerShell

本文介绍PowerShell自定义函数中使用参数集时,可以将同一个参数既设置为可选,又设置为必选. 好吧,小编承认,这个话题有点无聊,但确实还是有点有趣,不妨看一看啦. 在PowerShell中,我们有可能有这样的需求,如果只需要输入某个参数时,这个参数是可选的.但如果还要输入别的参数,那这个参数就变成必选的了.那么这种需求如何来满足呢?那就是本文的意义所在了. 复制代码 代码如下: function Connect-Somewhere {     [CmdletBinding(DefaultP