【问题标题】:How to search .token files in a folder and replace "__" in front and end of character via Powershell?如何通过Powershell搜索文件夹中的.token文件并替换字符前后的“__”?
【发布时间】:2018-02-28 14:23:51
【问题描述】:

我想通过具有以下模式__[characters]__ 的字符串的 .token 文件搜索文件,并通过 PowerShell 执行以下操作:

  • 删除任何带有“#{”的字符前面的“__”(两个下划线)
  • 删除同一字符末尾的“__”(两个下划线)并替换为“}”

例如:

__STAGE__
to
#{STAGE}

我正在将 RM 令牌文件迁移到 Octopus Deploy,需要通过脚本进行清理。

【问题讨论】:

  • 您尝试过什么,您尝试过什么失败了?理想情况下,您应该提供一个minimal reproducible example 您尝试过的内容,并包含有关它如何失败的具体信息,以及错误消息和/或错误输出。 Stack Overflow 不是代码编写服务;最好的问题是那些提供有用信息的问题,以便回答的人可以指导您设计自己的正确答案。请参阅How to Ask 一个好问题。

标签: powershell token octopus-deploy


【解决方案1】:

以最基本的方式并假设将令牌文件装入内存没有问题:

$TokenFiles = Get-ChildItem *.token

foreach ($file in $TokenFiles) {
    $NewContent = Get-Content $file.FullName -Raw
    $NewContent = $NewContent -replace '__(.*?)__', '#{$1}'
    Set-Content $file.FullName -Value $NewContent
}

【讨论】:

  • 如果为路径和文件夹添加变量怎么办?示例:$folder = "Y:\CMGitWorkspace\" $product = "GAM"
  • 并在“$folder\$product”上执行搜索
  • @Chaka 试试看。我不是为您编写完整的脚本,而是给您一个建议来回答您的具体问题。 “我如何使用Get-ChildItem?”与“如何搜索和替换文件中的文本?”相比,这是一个非常不同(并且非常基本)的问题
猜你喜欢
  • 1970-01-01
  • 2018-05-11
  • 2020-11-01
  • 1970-01-01
  • 2019-04-18
  • 2016-02-04
  • 2019-07-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多