【发布时间】:2017-08-29 21:15:39
【问题描述】:
我想使用 power shell 分割目录路径。我的完整路径是 D:\data\path1\path2\abc.txt,我想将其拆分为 path2\abc.txt。 有人可以让我知道我该怎么做。
【问题讨论】:
标签: powershell split directory
我想使用 power shell 分割目录路径。我的完整路径是 D:\data\path1\path2\abc.txt,我想将其拆分为 path2\abc.txt。 有人可以让我知道我该怎么做。
【问题讨论】:
标签: powershell split directory
$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 中那样将路径分隔符放在文件或目录名中。
【讨论】:
$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 "\"
【讨论】:
当您提出问题时,请在 Stack Overflow 上发布一些您已经尝试过的代码以及您得到的结果。我们帮助您编写您已经尝试过的代码,我们不是来为您编写的(:
但是...我会从这里开始:Link
这会让你开始。您还可以在控制台中执行以下操作以获取有关命令 Split-Path 的一些信息
Get-Help Split-Path -Example
在您自己整理好一些内容后,您可以编辑您的帖子以包含您尝试过的内容,这样您就更有可能获得针对您的特定情况的准确回复。祝你好运,编码顺利!
【讨论】:
很抱歉,超级迟到的帖子!我想你可能已经解决了。但这里有一些您可以尝试的方法。
您也可以尝试使用 substring() 函数。
$fullPath = "D:\data\path1\path2\abc.txt"
$rootPath = "D:\data\path1\"
$filePath = $fullPath.substring($rootPath.length, ($fullPath.length - $rootPath.length) )
这样的事情可能会对你有所帮助。
【讨论】: