找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23084|回复: 1

[文本处理] 批处理for命令delims字符分割问题

[复制链接]
发表于 2020-10-20 15:23:56 | 显示全部楼层 |阅读模式
有个脚本处理文本内容,我以]分割,但是文本内容会出现]]的情况,我想保留一个],该怎么修改
  1. @echo off
  2. chcp 65001 >nul
  3. setlocal enabledelayedexpansion

  4. set DB_NAME=test_%random%
  5. for /f "skip=2 delims=] tokens=1*" %%a in ('find "" /v /n dev.py') do (
  6.   set line=%%b
  7.   if "!line!" == "" (
  8.     echo.>>dev.py.bak
  9.   ) else (
  10.     set line=!line:test_db=%DB_NAME%!
  11.     echo !line!>>dev.py.bak
  12.   )
  13. )
复制代码
发表于 2020-10-20 16:48:43 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2020-10-23 13:32 编辑

刚刚修改
  1. @echo off
  2. chcp 65001 >nul
  3. set DB_NAME=test_%random%
  4. (for /f "skip=2 delims=" %%a in ('findstr /n .* dev.py') do (
  5.     set "var=%%a"
  6.     setlocal enabledelayedexpansion
  7.     set line=!var:*]=!
  8.     if "!line!" == "" (
  9.         echo.
  10.     ) else (
  11.         set line=!line:*:=!
  12.         if "!line!" == "" (
  13.             echo.
  14.         ) else (
  15.             set line=!line:test_db=%DB_NAME%!
  16.             echo !line!
  17.         )
  18.     )
  19.     endlocal
  20. ))>dev.py.bak
  21. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 20:30 , Processed in 0.028938 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表