You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell读取文件替换$$I为当前目录名失败,求技术支持

问题解决方法
  • 正则转义问题:-replace默认采用正则匹配规则,$是正则中的特殊字符(代表行尾),要匹配文本里的字面$$I,必须把$转义为\$,也就是用'\$\$I'作为匹配模式。
  • 替换值需先执行命令:你当前是把命令字符串直接替换进文本,要先运行Split-Path -Path (Get-Location) -Leaf得到实际的目录名称,再把这个结果作为替换值。
  • 缺少写入文件步骤:原代码只打印了修改后的内容,没有写回原文件,需要用[IO.File]::WriteAllText()完成写入操作。
  • 错误的输出命令:PowerShell中没有Print命令,用Write-Host或者直接输出变量就能查看内容。

修正后的完整代码:

# 获取当前目录名称
$currentDir = Split-Path -Path (Get-Location) -Leaf
# 读取原文件内容
$content = [IO.File]::ReadAllText("CC.comp")
# 执行替换操作
$content = $content -replace '\$\$I', $currentDir
# 将修改后的内容写回文件
[IO.File]::WriteAllText("CC.comp", $content)
# 输出修改后的内容验证
Write-Host $content
pause

如果担心原文件被误修改,可先添加备份步骤:

Copy-Item "CC.comp" "CC.comp.bak"

内容的提问来源于stack exchange,提问作者Gerrit Corsmeyer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 14:18:09