【问题标题】:Powershell - using variables in replacePowershell - 在替换中使用变量
【发布时间】:2013-06-07 04:05:09
【问题描述】:

我一直在使用 .replace,直到我发现它区分大小写。 所以我重写了一行代码来使用 -replace。

这是有效的,但区分大小写:

$SourcePath = 'c:\scripts\test
$folder = 'c:\testing\test'
$sourceFullPath = 'c:\scripts\test\FolderToTest'
$sourceFileRelativePath = $sourceFullPath.Replace($SourcePath, "")
$destFullFilePath = $folder + $sourceFileRelativePath

Write-output $destFullFilePath
c:\testing\test\FolderToTest

如何将其转换为使用 -replace 或者有没有办法使用 .net .replace 不区分大小写?

注意:这部分代码将在一个函数中,因此它们不会是静态的。我为这篇文章添加了示例,但它们可以是任何文件路径。

谢谢!!

【问题讨论】:

标签: powershell


【解决方案1】:

与采用字符串的 Replace 方法不同,replace 运算符采用正则表达式模式。 $SourcePath 需要转义,因为它包含反斜杠,这些反斜杠是特殊的正则表达式字符。

$sourceFileRelativePath  = $sourceFullPath -replace [regex]::escape($SourcePath)
$destFullFilePath = Join-Path $folder $sourceFileRelativePath

【讨论】:

    猜你喜欢
    • 2018-10-11
    • 1970-01-01
    • 2015-06-24
    • 2020-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多