拆分目录路径powershell

时间:2017-08-29 21:15:39

标签: powershell split directory

我想使用power shell拆分目录路径。我的完整路径是D:\ data \ path1 \ path2 \ abc.txt,我想将其拆分为path2 \ abc.txt。 有人能让我知道我该怎么做。

4 个答案:

答案 0 :(得分:1)

当您提出问题时,在Stack Overflow上,请发布您已经尝试过的一些代码以及您获得的结果。我们帮助您使用已经尝试过的代码,我们不是为您编写的代码(:

然而......我会从这里开始:Link

那会让你开始。您还可以在控制台中执行以下操作以获取有关命令Split-Path

的一些信息
Get-Help Split-Path -Example

在您自己组合后,您可以编辑您的帖子以包含您尝试过的内容,然后您将更有可能针对您的特定情况获得准确的回复。祝你好运,编码好!

答案 1 :(得分:0)

$last2parts = "D:\data\path1\path2\abc.txt".Split("\") | Select-Object -Last 2
$last2parts -join "\"

在回复您对其他解决方案的评论时,请尝试此操作。只需删除常量d:\ data \ path1。然后执行拆分

$last2parts = "D:\data\path1\path2\abc.txt".Replace("D:\data\path1","") 
$last2parts =$last2parts.Split("\") | Select-Object -Last 2
$last2parts -join "\"

如果您想要D:\ data \ path1

之后的所有内容,请尝试这样做
$lastparts = "D:\data\path1\path2\abc.txt".Replace("D:\data\path1","") 
$lastparts =$lastparts.Split("\") 
$lastparts -join "\"

答案 2 :(得分:0)

$PathAsString = "D:\data\path1\path2\abc.txt"

[System.IO.Path]::Combine($(Split-Path -leaf $(Split-Path $PathAsString)),$(Split-Path -leaf $PathAsString))

使用系统的分隔符,而不是指定Windows''\'字符。 老实说,如果我知道这只会在Windows系统上运行,我会选择@ChiliYago的答案,因为你不能像在Linux中那样将路径分隔符放在文件或目录名中。

答案 3 :(得分:0)

对不起,超级后期帖子!我认为您可能已经解决了。但是您可以尝试以下方法。

您也可以尝试使用substring()函数。

$fullPath = "D:\data\path1\path2\abc.txt"
$rootPath = "D:\data\path1\"
$filePath = $fullPath.substring($rootPath.length, ($fullPath.length - $rootPath.length) )

类似的事情可能会对您有所帮助。