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

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

有个脚本处理文本内容,我以]分割,但是文本内容会出现]]的情况,我想保留一个],该怎么修改
  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. )
复制代码

本帖最后由 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
复制代码

TOP

返回列表