我想使用power shell拆分目录路径。我的完整路径是D:\ data \ path1 \ path2 \ abc.txt,我想将其拆分为path2 \ abc.txt。 有人能让我知道我该怎么做。
答案 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) )
类似的事情可能会对您有所帮助。