Powershell 如何进行字符串拆分
我怎样才能分开一根线 我想把Powershell 如何进行字符串拆分,powershell,Powershell,我怎样才能分开一根线 我想把C:\RoamingFiles\D\file.txt改为D:\file.txt 我不知道该怎么做,因为split不会像我想的那样过滤掉C:\RoamingFiles\。我有点困惑,你到底想在这里做什么-split。好像 $myString -replace '^C:\\RoamingFiles\\([^\\]+)\\', '$1:\' 对你在那里做的事情会更好。这实际上是用下面的驱动器号替换路径组件C:\RoamingFiles\。但是,由于您只给出了一个示例,所以
C:\RoamingFiles\D\file.txt
改为D:\file.txt
我不知道该怎么做,因为split不会像我想的那样过滤掉
C:\RoamingFiles\
。我有点困惑,你到底想在这里做什么-split
。好像
$myString -replace '^C:\\RoamingFiles\\([^\\]+)\\', '$1:\'
对你在那里做的事情会更好。这实际上是用下面的驱动器号替换路径组件
C:\RoamingFiles\
。但是,由于您只给出了一个示例,所以这几乎都是猜测。我有点困惑,您到底想在这里执行-split
什么操作。好像
$myString -replace '^C:\\RoamingFiles\\([^\\]+)\\', '$1:\'
对你在那里做的事情会更好。这实际上是用下面的驱动器号替换路径组件
C:\RoamingFiles\
。但这完全是猜测,因为您只给出了一个示例。尝试过使用[System.IO.Path]
$name = "C:\RoamingFiles\file.txt"
$shortname = [System.IO.Path]::GetFileName($name)
$newname = [System.IO.Path]::Combine("D:\", $shortname)
echo $newname
是否尝试使用[System.IO.Path]进行此操作
$name = "C:\RoamingFiles\file.txt"
$shortname = [System.IO.Path]::GetFileName($name)
$newname = [System.IO.Path]::Combine("D:\", $shortname)
echo $newname
这应该可以正常工作(包括子文件夹):
这应该可以正常工作(包括子文件夹):
此正则表达式无法处理8个字母的路径。(例如c:\PROGRA~1)。你能修好密码吗?谢谢。所以它并不总是在C:\RoamingFiles\?这就是一个例子。我的实际路径是$env:Temp\lc此正则表达式无法处理8个字母的路径。(例如c:\PROGRA~1)。你能修好密码吗?谢谢。所以它并不总是在C:\RoamingFiles\?这就是一个例子。我的实际路径是$env:Temp\LCits不总是D。该驱动器是C:\RoamingFiles中的第一个目录。它不总是D。该驱动器是C:\RoamingFiles中的第一个目录