当前位置: 首页 > news >正文

在WebFuture里如何自动处理二维码问题脚本

下方代码另存为fix.ps1在views文件夹,在views文件夹里面执行powershell -ExecutionPolicy Bypass -File .\fix.ps1

# PowerShell 脚本:备份和修改 Shared 文件夹中的 cshtml 文件 # 兼容 PowerShell 5.1 和 PowerShell 7+ # 设置当前目录 $currentPath = Get-Location # 创建 bak 文件夹(如果不存在) $bakPath = Join-Path $currentPath "bak" if (-not (Test-Path $bakPath)) { New-Item -Path $bakPath -ItemType Directory | Out-Null Write-Host "已创建 bak 文件夹" -ForegroundColor Green } # 获取当前目录下所有文件夹(排除 bak 文件夹) $folders = Get-ChildItem -Path $currentPath -Directory | Where-Object { $_.Name -ne "bak" } foreach ($folder in $folders) { $folderName = $folder.Name $sharedPath = Join-Path $folder.FullName "Shared" # 检查是否存在 Shared 文件夹 if (Test-Path $sharedPath) { Write-Host "`n处理文件夹: $folderName" -ForegroundColor Cyan # 定义要处理的文件 $files = @( "网站搜索.cshtml", "网站搜索-首页.cshtml", "网站顶部.cshtml" ) # 创建备份目录结构 $bakFolderPath = Join-Path $bakPath $folderName $bakSharedPath = Join-Path $bakFolderPath "Shared" if (-not (Test-Path $bakSharedPath)) { New-Item -Path $bakSharedPath -ItemType Directory -Force | Out-Null } # 处理每个文件 foreach ($fileName in $files) { $sourceFile = Join-Path $sharedPath $fileName if (Test-Path $sourceFile) { # 先备份原始文件 $bakFile = Join-Path $bakSharedPath $fileName Copy-Item -Path $sourceFile -Destination $bakFile -Force Write-Host " 已备份: $fileName" -ForegroundColor Yellow # 逐行读取文件(兼容方式) try { $lines = @(Get-Content -Path $sourceFile -Encoding UTF8 -ErrorAction Stop) } catch { # 如果 UTF8 失败,尝试默认编码 $lines = @(Get-Content -Path $sourceFile -ErrorAction Stop) } $modified = $false # 处理网站搜索.cshtml 和 网站搜索-首页.cshtml if ($fileName -eq "网站搜索.cshtml" -or $fileName -eq "网站搜索-首页.cshtml") { $newLines = New-Object System.Collections.ArrayList foreach ($line in $lines) { $skipLine = $false # 1. 删除包含 var keyword = Context.Request.Query("wd") 或 Get("wd") 的行 if ($line -match 'var\s+keyword\s*=\s*Context\.Request\.(Get|Query)\s*\(\s*"wd"\s*\)') { $skipLine = $true $modified = $true Write-Host " 已删除行: $($line.Trim())" -ForegroundColor Green } # 2. 替换 id="inputkeyword" 或 id="topKeyWord" 的 input 标签中的 value="@keyword" 为 value="" if (-not $skipLine) { # 检查是否包含目标 id 和 value="@keyword" if (($line -match 'id\s*=\s*"inputkeyword"' -or $line -match 'id\s*=\s*"topKeyWord"') -and $line -match 'value\s*=\s*"@keyword"') { $originalLine = $line $line = $line -replace '(value\s*=\s*")@keyword(")', '$1$2' if ($originalLine -ne $line) { $modified = $true $idName = if ($originalLine -match 'id\s*=\s*"inputkeyword"') { 'inputkeyword' } else { 'topKeyWord' } Write-Host " 已修改 value 属性: id=$idName" -ForegroundColor Green } } [void]$newLines.Add($line) } } # 保存修改后的内容 if ($modified) { $newLines | Set-Content -Path $sourceFile -Encoding UTF8 } } # 处理网站顶部.cshtml if ($fileName -eq "网站顶部.cshtml") { try { $content = Get-Content -Path $sourceFile -Raw -Encoding UTF8 -ErrorAction Stop } catch { $content = Get-Content -Path $sourceFile -Raw -ErrorAction Stop } # 替换 @Power.QrCode(任何参数) 为 @Power.QrCode() if ($content -match '@Power\.QrCode\s*\([^)]+\)') { $content = $content -replace '@Power\.QrCode\s*\([^)]+\)', '@Power.QrCode(null,100)' # 兼容 PowerShell 5.1 - 使用 [System.IO.File]::WriteAllText 替代 Set-Content -NoNewline [System.IO.File]::WriteAllText($sourceFile, $content, [System.Text.Encoding]::UTF8) $modified = $true Write-Host " 已替换 QrCode 方法: $fileName" -ForegroundColor Green } } if (-not $modified) { Write-Host " 未找到需要修改的内容: $fileName" -ForegroundColor DarkGray } } else { Write-Host " 文件不存在: $fileName" -ForegroundColor Gray } } } else { Write-Host "文件夹 $folderName 中不存在 Shared 文件夹" -ForegroundColor Gray } } Write-Host "`n脚本执行完成!" -ForegroundColor Green Write-Host "原始文件已备份到 bak 文件夹中" -ForegroundColor Cyan
http://www.cnnetsun.cn/news/1343730.html

相关文章:

  • 11-AI基础概念入门
  • django flask+uniapp 酒店管理系统设计 小程序_54ybz
  • 如何解决嵌套在公众号里面的H5页面有缓存的问题。公众号菜单的H5的域名不希望加版本号去修改
  • DataTable学习路线
  • 芯片解密多少钱,单片机解密价格详细解析
  • 2026必备!全行业通用降AI率平台 千笔·降AIGC助手 VS 万方智搜AI
  • 【用 Java API Client 操作 Elasticsearch】
  • AI智能体中的Skills是什么?
  • 某厂Java面试实录:深度解析高并发秒杀系统、Redis原子扣减、分布式锁与消息可靠性
  • Pandas加载Avro文件
  • sdut-程序设计基础Ⅰ-23级转专业第一次机测题
  • python运算符
  • 深入理解 AI Agent 中的 Skills:让 AI 拥有专业能力的秘密武器
  • 深度解析 pprof 的采样机制:它是如何在不影响性能的前提下捕获堆栈快照的?
  • 密码学加解密实训(Base64转义)
  • python股票数据分析预测系统 大模型股票行情预测系统 量化交易分析预测系统
  • Linux系统
  • 腾讯版「龙虾」Workbuddy上线当天,我用它搭了一套行业情报日报系统
  • 图表替代文字降AI率不会?看完这篇5分钟学会
  • AI Image Background Remover Pro
  • Python绘制带自动缩放的线条、多边形和规则多边形集合图
  • java面试题总结2
  • 老周虾扯:解构 AI 记忆构建长效 Agent 的底层逻辑与认知体系
  • 大数据建模中的混沌工程:测试系统弹性的方法
  • 深入解析UniAD架构:面向决策规划的端到端自动驾驶Transformer模型全景报告
  • C/C++: 栈包含哪些数据信息
  • 加解密篇 - 非对称加密算法 (RSA、DSA、ECC、DH)
  • 如何使用SQuAD Explorer:探索自然语言理解的终极指南
  • 探索稳定扩散之卓越:Awesome Stable Diffusion
  • 【亲测免费】 WunderGraph 开源项目教程