拆分目录路径powershell

拆分目录路径powershell,powershell,split,directory,Powershell,Split,Directory,我想使用powershell拆分目录路径。我的完整路径是D:\data\path1\path2\abc.txt,我想将其拆分为path2\abc.txt。 有人能告诉我怎么做吗 关于堆栈溢出,当您提出问题时,请发布一些您已经尝试过的代码以及您得到的结果。我们帮助您编写您已经尝试过的代码,我们不是来为您编写代码的(: 然而,我想从这里开始: 这将让您开始。您还可以在控制台中执行以下操作,以获取有关命令splitpath Get-Help Split-Path -Example 在你自己把一些东西

我想使用powershell拆分目录路径。我的完整路径是D:\data\path1\path2\abc.txt,我想将其拆分为path2\abc.txt。
有人能告诉我怎么做吗

关于堆栈溢出,当您提出问题时,请发布一些您已经尝试过的代码以及您得到的结果。我们帮助您编写您已经尝试过的代码,我们不是来为您编写代码的(:

然而,我想从这里开始:

这将让您开始。您还可以在控制台中执行以下操作,以获取有关命令
splitpath

Get-Help Split-Path -Example
在你自己把一些东西放在一起之后,你可以编辑你的文章,把你尝试过的内容包括进去,这样你就更有可能得到针对你特定情况的准确回复。祝你好运,编码也很好

$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 "\"
使用系统的分隔符,而不是指定Windows“\”字符。
老实说,如果我知道这只会在Windows系统上运行,我会使用@ChiliYago的答案,因为你不能像在Linux中那样将路径分隔符放在文件或目录名中。

很抱歉发布得太晚了!我想你可能已经得到了修复。但这里有一些东西你可以试试

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

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

类似的内容可能会对您有所帮助。

感谢各位,并为第一次尝试时没有提出正确的问题表示歉意。我有多个这样的文件路径,其中部分“D:\data\path1\”将保持不变,第二部分将继续更改,如下所示:D:\data\path1\path2\a.txt D:\data\path1\path3\path4\b.txt找到一种方法,可以删除第一部分并将第二部分作为输出。我尝试了$last2parts=“D:\data\path1\path2\abc.txt”。拆分(“\”)\124;选择对象-最后2个,但在这种情况下没有帮助。非常感谢ChiliYago。这很有帮助:)请将我的答案标记为已解决。很高兴这有帮助
$fullPath = "D:\data\path1\path2\abc.txt"
$rootPath = "D:\data\path1\"
$filePath = $fullPath.substring($rootPath.length, ($fullPath.length - $rootPath.length) )