gpt4 book ai didi

PowerShell 锁定文件

转载 作者:行者123 更新时间:2023-12-04 15:27:44 26 4
gpt4 key购买 nike

我正在尝试在 PowerShell 中做一些非常简单的事情。

  • 读取文件内容
  • 操作一些字符串
  • 将修改后的测试保存回文件
    function Replace {
    $file = Get-Content C:\Path\File.cs
    $file | foreach {$_ -replace "document.getElementById", "$"} |out-file -filepath C:\Path\File.cs
    }

  • 我试过 Set-Content以及。

    我总是得到未经授权的异常。我可以看到 $file有文件内容,写入文件时出现错误。

    我怎样才能解决这个问题?

    最佳答案

    这很可能是由 Get-Content 引起的获取读取锁的 cmdlet 和 Out-File试图获得写入锁定。类似的问题在这里:Powershell: how do you read & write I/O within one pipeline?

    所以解决方案是:

    ${C:\Path\File.cs} = ${C:\Path\File.cs} | foreach {$_ -replace "document.getElementById", '$'}
    ${C:\Path\File.cs} = Get-Content C:\Path\File.cs | foreach {$_ -replace "document.getElementById", '$'}

    $content = Get-Content C:\Path\File.cs | foreach {$_ -replace "document.getElementById", '$'}
    $content | Set-Content C:\Path\File.cs

    基本上,您需要缓冲文件的内容,以便可以关闭文件( Get-Content 用于读取),然后应将缓冲区刷新到文件( Set-Content ,在此期间需要写锁)。

    关于PowerShell 锁定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3057673/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com