2017-08-29 150 views
-1

我想使用Power Shell拆分目录路径。我的完整路径是D:\ data \ path1 \ path2 \ abc.txt,我想将它分割为path2 \ abc.txt。 有人可以让我知道我该怎么做。分割目录路径powershell

回答

1

当您提出问题时,请在Stack Overflow中发布一些您已经尝试过的代码以及获得的结果。我们帮你的代码,你已经尽力了,我们在这里不是为了写你(:

但是...我会从这里开始:Link

这将让你开始你也可以请执行以下操作在一个控制台来获取有关命令的一些信息Split-Path

Get-Help Split-Path -Example 

你把东西一起在自己的后,您可以编辑您的帖子,包括你已经尝试过什么,然后你会更容易针对您的具体情况获得准确的回复。祝您好运,祝您编码愉快!

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 \路径1

$lastparts = "D:\data\path1\path2\abc.txt".Replace("D:\data\path1","") 
$lastparts =$lastparts.Split("\") 
$lastparts -join "\" 
+0

非常感谢ChiliYago。这有助于:) –

+0

请标记我的答案为你解决。很高兴帮助 – ChiliYago

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中那样将路径分隔符放在文件或目录名中。

+0

谢谢大家,并为第一次尝试提出正确的问题表示歉意。我有多个这样的文件路径,其中部分“D:\ data \ path1 \”将保持不变,第二部分将保持如下更改:D:\ data \ path1 \ path2 \ a.txt D:\ data \ path1 \ path3 \ path4 \ b.txt 寻找一种方法,我可以删除第一部分,并获得第二部分作为输出。我试过$ last2parts =“D:\ data \ path1 \ path2 \ abc.txt”.Split(“\”)|选择对象 - 最终2,但它不会在这种情况下帮助。 –