【问题标题】:Split directory path powershell拆分目录路径powershell
【发布时间】:2017-08-29 21:15:39
【问题描述】:

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

【问题讨论】:

    标签: powershell split directory


    【解决方案1】:
    $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 中那样将路径分隔符放在文件或目录名中。

    【讨论】:

    • 谢谢各位,并为第一次尝试没有提出正确的问题而道歉。我有多个这样的文件路径,其中部分“D:\data\path1\”将保持不变,第二部分将不断变化,如下所示: D:\data\path1\path2\a.txt D:\data\path1\path3\ path4\b.txt 找到一种可以删除第一部分并将第二部分作为输出的方法。我试过 $last2parts = "D:\data\path1\path2\abc.txt".Split("\") | Select-Object -Last 2 但在这种情况下无济于事。
    【解决方案2】:
    $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 "\"
    

    【讨论】:

    • 非常感谢 ChiliYago。这有帮助:)
    • 请将我的答案标记为已为您解决。很高兴它有帮助
    【解决方案3】:

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

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

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

    Get-Help Split-Path -Example
    

    在您自己整理好一些内容后,您可以编辑您的帖子以包含您尝试过的内容,这样您就更有可能获得针对您的特定情况的准确回复。祝你好运,编码顺利!

    【讨论】:

      【解决方案4】:

      很抱歉,超级迟到的帖子!我想你可能已经解决了。但这里有一些您可以尝试的方法。

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

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

      这样的事情可能会对你有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-02
        • 2013-08-24
        • 1970-01-01
        • 2019-06-08
        • 1970-01-01
        • 2021-04-23
        • 2013-07-12
        • 1970-01-01
        相关资源
        最近更新 更多