Board logo

标题: [文本处理] 求助批处理for读取文件内容 [打印本页]

作者: lhtoo1314    时间: 2024-8-8 12:27     标题: 求助批处理for读取文件内容

for /f "usebackq delims= eol=<!--" %%i in ("!oconf!") do (  用这个去读取的文本中包含
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
<!--VPN提供商电话-->
<!--VPN提供商电话--> 这些内容, <!--VPN提供商电话-->被读取成了 <--VPN提供商电话-->,感叹号没有了。
作者: ppll2030    时间: 2024-8-8 16:07

看你的in()里的引用,是不是开启了延迟?
如果是这样,应该就是感叹号被自动识别为特殊字符而替换掉了。
你可以试试这一段不开启延时,处理完在重新开启。
作者: 77七    时间: 2024-8-8 19:26

eol=<!--不报错吗?


忽略<开头的行,不需要可以删除eol^=^<
  1. for /f "usebackq delims="eol^=^< %%i in ("!oconf!") do (
  2. endlocal
  3. set str=%%i
  4. setlocal enabledelayedexpansion
  5. echo !str!
  6. )
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2