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

[文本处理] 想把一行文本变成三行,批处理如何实现?

[复制链接]
发表于 2023-6-28 00:08:50 | 显示全部楼层 |阅读模式
  1. wuyc_1226----891226
  2. wuyue575----5464575
  3. wuyue7456----5uyuy3535
  4. wy88512----7192798
  5. wyb0451----WYBSWILY
  6. wyfighters----henxinyaof
复制代码
想把上面的给是变成 下面这种格式,左边是user,右边是password,
secret: "" 默认就是这样。
  1.     -   user: "wuyc_1226"
  2.         password: "891226"
  3.         secret: ""
复制代码
结果就是变成了



-   user: "wuyc_1226" # 用户名
        password: "891226" # 密码
        secret: ""


-   user: "wuyue575" # 用户名
        password: "5464575" # 密码
        secret: ""



以上这种结果
发表于 2023-6-28 00:49:27 | 显示全部楼层
  1. @echo off
  2. (for /f "tokens=1* delims=-" %%a in ('find /v "" ^<"1.txt"') do (
  3.         echo     -   user: "%%a"
  4.         echo         password: "%%b"
  5.         echo         secret: ""
  6. ))>2.txt
复制代码
发表于 2023-6-28 09:44:40 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2023-6-28 14:01 编辑

如果文本中user和password都是有4个 “-” 隔开:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "delims=" %%i in ('findstr "\----" 1.txt') do (
  4.     set "str=%%i"
  5.     set "str=!str:----=`!"
  6.     for /f "tokens=1* delims=`" %%j in ("!str!") do (
  7.         echo,    -   user: "%%j"
  8.         echo,        password: "%%k"
  9.         echo,        secret: ""
  10.         echo,
  11.     )
  12. ))>2.txt
复制代码
发表于 2023-6-28 10:06:13 | 显示全部楼层
回复 1# Rasm
如果不介意第3方工具gawk( http://bcn.bathome.net/tool/4.1.0/gawk.exe ),以下指令可实现楼主的需求:

  1. gawk -F"-+" "{print"    -   user: \042"$1"\042\n        password: \042"$2"\n        secret: \042\042\n"}" 1.txt>2.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 17:02 , Processed in 0.018074 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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