Я хочу заменить строку в $test, которая содержит $folder, нет синтаксической ошибки, но ничего не заменено:
$test
$folder
$folder = 'c:\test' $test = 'c:\test\subtest\' -replace $folder, ""
$ test все еще содержит 'c: \ test \ subtest \'
$folder = 'c:\test' $test = 'c:\test\subtest\'.replace($folder,'')
Если вы просто хотите заменить прямую строку, вы можете использовать метод Replace() вместо того, чтобы использовать текущий оператор -Replace, который использует регулярное выражение.
Replace()
-Replace
Похожие: В чем разница между .replace и -replace в powershell?
-replace принимает в качестве входных данных регулярное выражение, а в регулярном выражении \t означает «символ табуляции».
-replace
\t
$folder = 'c:\\test' $test = 'c:\test\subtest\' -replace $folder, ""
даст желаемый результат.