Powershell 无法替换路径
我想替换包含$folder的$test中的字符串,没有语法错误,但未替换任何内容:Powershell 无法替换路径,powershell,Powershell,我想替换包含$folder的$test中的字符串,没有语法错误,但未替换任何内容: $folder = 'c:\test' $test = 'c:\test\subtest\' -replace $folder, "" $test仍然包含“c:\test\subtest” -replace将正则表达式作为其输入,在正则表达式中,\t表示制表符 $folder = 'c:\\test' $test = 'c:\test\subtest\' -replace $folder, "" 将给出期望的
$folder = 'c:\test'
$test = 'c:\test\subtest\' -replace $folder, ""
$test仍然包含“c:\test\subtest”
-replace将正则表达式作为其输入,在正则表达式中,\t表示制表符
$folder = 'c:\\test'
$test = 'c:\test\subtest\' -replace $folder, ""
将给出期望的结果
$folder = 'c:\test'
$test = 'c:\test\subtest\'.replace($folder,'')
如果您只需要一个直字符串替换,那么可以使用replace方法,而不是使用使用regex replace的current-replace操作符
相关:它可以工作,但原因是您确定:$folder='c:\anothertest'与此相同,我必须使用$folder='c:\\anothertest'是,并且\a是字符串开头的regex元字符。啊,好的,谢谢:这样更容易使用。替换因为我的用例是通用的,更通用的方法是-replace[regex]::Escape$folder,.这样做会不会首先破坏使用正则表达式的目的?接下来的问题:当我将它应用于列表目录时,我不明白为什么它不起作用: