[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求助批处理for读取文件内容

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

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

TOP

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. )
复制代码
bat小白,请多指教!谢谢!

TOP

返回列表