PowerShell中把相對路徑轉換為絕對路徑的2個方法
更新時間:2014年08月08日 09:47:57 投稿:junjie
這篇文章主要介紹了PowerShell中把相對路徑轉換為絕對路徑的2個方法,并對他的區(qū)別做了講解,需要的朋友可以參考下
在PowerShell中,有時候,我們需要把當前的相對路徑解析為絕對路徑,比如".\test.txt",我們想知道它的絕對路徑的話,我們有兩種方法可以實現(xiàn)。
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
+ 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
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
實際上,小編的這個C:\Users\zhanghong\file.txt文件是不存在的。
相關文章
使用HTTP api簡單的遠程執(zhí)行PowerShell腳本
為了你能非常簡單的遠程執(zhí)行PoweShell腳本,使用REST API是一個很好的選擇,因為現(xiàn)在許多流行的編程語言都可以簡單的執(zhí)行HTTP的GET操作。2014-10-10
Windows Powershell ForEach-Object 循環(huán)
Powershell管道就像流水線,對于數(shù)據(jù)的處理是一個環(huán)節(jié)接著一個環(huán)節(jié),如果你想在某一環(huán)節(jié)對流進來的數(shù)據(jù)逐個細致化的處理,可是使用ForEach-Object,$_ 代表當前的數(shù)據(jù)。2014-10-10

