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

[问题求助] 求助BAT或VBS两列数据按照样式输出新的txt文件

[复制链接]
发表于 2020-12-17 22:25:00 | 显示全部楼层 |阅读模式
请问BAT 或VBS ,假设原有 txt 样式,希望能样式输出到新的txt 文件中,

yh001|读取错误
yh002|不能观看
yh003|无法识别
yh004|未知原因
yh005|未知原因


输出到一个新的txt,如下面样式

[MARK]
yh001=666            '=后面可以固定的
yh002=666
yh003=666
yh004=666
yh005=666

[COMMENT]
yh001=读取错误
yh002=不能观看
yh003=无法识别
yh004=未知原因
yh005=未知原因

[color]
yh001=66FFFF           '=后面是固定的
yh002=66FFFF
yh003=66FFFF
yh004=66FFFF
yh005=66FFFF
发表于 2020-12-17 22:55:22 | 显示全部楼层
bat
处理文件test.txt,生成文件test_new.txt
  1. @echo off & cd /d "%~dp0"
  2. set "head=[MARK]"
  3. set "headVal=666"
  4. set "body=[COMMENT]"
  5. set "foot=[color]"
  6. set "footVal=66FFFF"
  7. set "file=test.txt"
  8. (
  9.         echo %head%
  10.         for /f "usebackq delims=|" %%i in ("%file%") do echo %%i=%headVal%
  11.         echo.
  12.         echo %body%
  13.         for /f "usebackq tokens=1* delims=|" %%i in ("%file%") do echo %%i=%%j
  14.         echo.
  15.         echo %foot%
  16.         for /f "usebackq delims=|" %%i in ("%file%") do echo %%i=%footVal%
  17. ) > "test_new.txt"
  18. pause&exit
复制代码
 楼主| 发表于 2020-12-18 12:34:08 | 显示全部楼层
回复 2# went


   请教一个问题,如果是要输出这里第一列(%%i)的 前3或后3个 字符,这个要怎么 写呢。
发表于 2020-12-18 15:03:55 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /a k=1000,m=2000,n=3000
  4. for /f "tokens=1* delims=|" %%a in (a.txt) do (
  5. if !k!==1000 set "#!k!=#[MARK]"&set "#!m!=#[COMMENT]"&set "#!n!=#[color]"
  6. set /a k+=1,m+=1,n+=1
  7. set "#!k!=#%%a=666"&set "#!m!=#%%a=%%b"&set "#!n!=#%%a=66FFFF"
  8. )
  9. set /a k+=1,m+=1,n+=1
  10. set "#!k!=#"&set "#!m!=#"&set "#!n!=#"
  11. (for /f "tokens=1* delims=#" %%i in ('set #') do echo,%%j)>#a.txt
  12. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 05:12 , Processed in 0.018002 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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