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

所属分类: 脚本专栏 / PowerShell 阅读数: 2054
收藏 0 赞 0 分享

在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文件是不存在的。

更多精彩内容其他人还在看

PowerShell操作Excel、CSV详细介绍

这篇文章主要介绍了PowerShell操作Excel、CSV详解,本文比较深入的探讨了PowerShell中如何操作Excel及CSV,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell中显示隐藏文件的方法

这篇文章主要介绍了Powershell中显示隐藏文件的方法,本文使用是是Get-ChildItem检索文件,加上-Hidden参数就可以显示隐藏文件了,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell中iso8601格式日期和DateTime对象互转实例

这篇文章主要介绍了PowerShell中iso8601格式日期和DateTime对象互转实例,本文讲解了iso8601格式转换成DateTime对象、日期时间转换成iso8601格式两个方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell使用C#实现缩写路径

这篇文章主要介绍了Powershell使用C#实现缩写路径,缩写路径有时候是非常有用的,比如某些报表的路径太长会很难看,缩写后就会好看许多,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell截取字符串并添加省略号的例子

这篇文章主要介绍了Powershell截取字符串并添加省略号的例子,本文直接给出代码实例,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell读取本机注册表中的所有软件关联扩展名

这篇文章主要介绍了Powershell读取本机注册表中的所有软件关联扩展名,本文直接给出实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell实现按类型排序

这篇文章主要介绍了Powershell实现按类型排序,本文直接给出实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell中打开网页实例

这篇文章主要介绍了Powershell中打开网页实例,本文直接给出实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell实现获取进程所有者

这篇文章主要介绍了PowerShell实现获取进程所有者,本文直接给出实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Windows Powershell Foreach 循环

Foreach-object 为cmdlet命令,使用在管道中,对管道结果逐个处理,foreach为遍历集合的关键字。
收藏 0 赞 0 分享
查看更多