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

[文本处理] set之类的命令查找替换字符串时如何支持正则呢?

@echo off & setlocal enabledelayedexpansion

for /f "delims=" %%i in (2.txt) do (
set a=%%i
set a=!a:/=\n!
echo !a!>>en.txt
)
pause

怎么写 才可能让“\n”代表 换行呢?

本职是SEO,最近一直在学习DOS处理数据,多谢大牛们帮忙。。。

回复 1# shenghuo
  1. @echo off&setlocal enabledelayedexpansion
  2. set NLM=^
  3. set NL=^^^%NLM%%NLM%^%NLM%%NLM%
  4. for /f "delims=" %%i in (2.txt) do (
  5.   set a=%%i
  6.   set a=!a:/=%NL%!
  7. echo !a!>>en.txt
  8. )
  9. pause
复制代码
看得多说得多,远比不上写得多。

TOP

回复 2# weichenxiehou


    没有替换词 换行啊

TOP

回复 3# shenghuo


    请把你的测试数据和测试结果贴出来看看
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4# Batcher


执行后,使用editplus打开
记事本打开

这是为什么呢

TOP

本帖最后由 CrLf 于 2013-7-30 18:39 编辑

回复 5# shenghuo


    因为你顶楼说的 \n 是换行符,回车换行 \r\n 才是记事本中看到的换行效果,小改下 2 楼超人的代码:
  1. @echo off&setlocal enabledelayedexpansion
  2. set NLM=^
  3. for /f %%D in ('copy /z %0 nul') do (
  4. for %%A in ("%%D!NLM!") do (
  5. for /f "delims=" %%i in (a.txt) do (
  6. set a=%%i
  7. set "a=!a:/=%%~A!"
  8. echo !a!>>en.txt
  9. )
  10. )
  11. )
  12. pause
复制代码

TOP

没明白楼主的意思,把/替换为\n ?
还是替换为<br>?

TOP

回复 6# CrLf

   多谢,  不过上面这个代码 测试和2楼大神代码的结果一样啊

顺便咨询一下,DOS下这么写不对?

TOP

回复 8# shenghuo


    -F"/"
1

评分人数

TOP

回复 9# CrLf


    膜拜

TOP

看来 CR 和 %NL% 的办法不能合用
6 楼代码已修改

TOP

返回列表