如何用批处理代码替换/删除文本文件中的"符号?
批处理删除文件中多余引号/HTML实体的解决方案
你原代码存在几个关键问题:
- 批处理变量赋值语法错误,正确格式是
set "FILENAME=你的文件名",等号前后不能加空格 - 直接写PowerShell代码但未通过
powershell -Command调用,批处理无法识别这类语法 - 如果文件中是**双引号"**而非HTML实体
",匹配字符串写错会导致无法替换
根据你的需求,分两种情况给出正确代码:
情况1:文件中是双引号"(需删除)
@echo off set "FILENAME=目标文件名" :CLEARC powershell -Command "(Get-Content '%FILENAME%.txt') -replace '\"', '' | Set-Content -Encoding ASCII '%FILENAME%.txt'"
情况2:文件中确实是HTML实体"(需删除)
@echo off set "FILENAME=目标文件名" :CLEARC powershell -Command "(Get-Content '%FILENAME%.txt') -replace '"', '' | Set-Content -Encoding ASCII '%FILENAME%.txt'"
代码说明
set "FILENAME=目标文件名":规范设置批处理变量,避免空格、特殊字符干扰powershell -Command:调用PowerShell执行文件内容替换,批处理原生字符串替换能力有限,用PowerShell处理更高效-replace '匹配字符串', '':将目标符号替换为空字符串实现删除需求,若要替换为空格,把''改成' '即可-Encoding ASCII:保证输出文件编码与原文件一致,避免出现乱码
内容的提问来源于stack exchange,提问作者Linsheng Lance
相关产品推荐
相关产品推荐

