使用 Powershell 将目录路径 (String) 拆分为两个字符串

Split a Directory Path (String ) into two strings using Powershell

我是 Powershell 的新手,我花了一整天的时间研究如何拆分字符串 我有这个字符串路径

RootFolder\Subfolder1\SubFolder2\SubFolder3

我想将其拆分为两个字符串,以便第一个字符串包含 RootFolder,第二个字符串包含字符串的其余部分。

例如:RootFolder\Subfolder1\SubFolder2\SubFolder3

$rootFolder = RootFolder 
$subFolders = Subfolder1\SubFolder2\SubFolder3

提前致谢!

这里有几个方法供您参考:

使用字符串的 Split() 方法

$root, $path = "RootFolder\Subfolder1\SubFolder2\SubFolder3".Split("\", 2)

$root # --> RootFolder
$path # --> Subfolder1\SubFolder2\SubFolder3

使用字符串的 IndexOf() 方法

$folder = "RootFolder\Subfolder1\SubFolder2\SubFolder3"
$index = $folder.IndexOf("\")
$root  = $folder.Substring(0, $index)
$path  = $folder.Substring($index + 1)

$root # --> RootFolder
$path # --> Subfolder1\SubFolder2\SubFolder3

或者甚至是

$folder = "RootFolder\Subfolder1\SubFolder2\SubFolder3" -split '\'
$root   = $folder[0]
$path   = $folder[1..($folder.Count -1)] -join '\'

$root # --> RootFolder
$path # --> Subfolder1\SubFolder2\SubFolder3

一种选择是使用拆分运算符:

$splitPath = 'RootFolder\Subfolder1\SubFolder2\SubFolder3' -split '\', 2

这给出了这个输出:

$splitPath

RootFolder
Subfolder1\SubFolder2\SubFolder3

您可以像这样访问各个部分:

$splitPath[0]

RootFolder

如果路径以盘符开头(例如C:\RootFolder\Subfolder1\SubFolder2\SubFolder3)而您想忽略它,只需增加子字符串数:

$splitPath = 'C:\RootFolder\Subfolder1\SubFolder2\SubFolder3' -split '\', 3


$splitPath

C:
RootFolder
Subfolder1\SubFolder2\SubFolder3