如何进行字符串拆分

时间:2012-01-11 15:37:23

标签: powershell

如何分割字符串?

我想将C:\RoamingFiles\D\file.txt转为D:\file.txt

我不知道该怎么做,因为拆分不会按我的意愿过滤掉C:\RoamingFiles\

3 个答案:

答案 0 :(得分:2)

我对你在-split想要做什么感到困惑。好像是

$myString -replace '^C:\\RoamingFiles\\([^\\]+)\\', '$1:\'

会更好地适应您在那里所做的事情。这基本上用后面的驱动器号替换路径组件C:\RoamingFiles\。但是,由于你只给出了一个例子,所以这几乎都是猜测。

答案 1 :(得分:1)

试过这个用[System.IO.Path]?

$name = "C:\RoamingFiles\file.txt"
$shortname =  [System.IO.Path]::GetFileName($name)
$newname =  [System.IO.Path]::Combine("D:\", $shortname)
echo $newname

答案 2 :(得分:0)

这应该可以正常工作(包括子文件夹):

$fullPath = "C:\RoamingFiles\D\test\test2\file.txt"
$baseFolder = "C:\RoamingFiles\" -replace "\\", "\\"
$fullPath -match "$baseFolder([a-z]\\.+)" | Out-Null
Write-Host $matches[1].Insert(1, ":")