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

[文本处理] 【已解决】批处理如何逐行读取txt文本并将行号和每行内容插入到指定字符串的特定位置

[复制链接]
发表于 2016-7-20 14:10:54 | 显示全部楼层 |阅读模式
本帖最后由 hentai87 于 2016-7-20 15:47 编辑

  1. 输入
  2. 4861945931950
  3. 4861945931967
  4. 4861945931974
  5. 目标输出
  6. TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:productForm ATTR=ID:external_product_id_gio_child_1 CONTENT=4861945931950
  7. TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:productForm ATTR=ID:external_product_id_gio_child_2 CONTENT=4861945931967
  8. TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:productForm ATTR=ID:external_product_id_gio_child_3 CONTENT=4861945931974
复制代码
xxxxx_child_1 CONTENT=4861945931950
红色的1是行数,123456,没有空行,可以说是单纯编号
4861945931950是原本的文本,不固定,但都是13位数字
我想不到办法,最好别用mshta,不便于修改,我不懂js和vbs,就懂点bat
我觉得我表达的很清楚了,求手下留情,不扣分
发表于 2016-7-20 14:32:00 | 显示全部楼层
本帖最后由 pcl_test 于 2016-7-20 14:34 编辑

纯P for

第三方http://www.bathome.net/s/tool/index.html?down&key=gawk
  1. gawk "++n{print "TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:productForm ATTR=ID:external_product_id_gio_child_"n" CONTENT="$0}" "1.txt">"2.txt"
复制代码

评分

参与人数 1技术 +1 收起 理由
hentai87 + 1 乐于助人

查看全部评分

 楼主| 发表于 2016-7-20 14:40:48 | 显示全部楼层
回复 2# pcl_test


   能不用第三方吗,看不懂
发表于 2016-7-20 14:41:15 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=1
  4. (for /f %%i in ('type "1.txt"') do (
  5.     echo TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:productForm ATTR=ID:external_product_id_gio_child_!n! CONTENT=%%i
  6.     set /a n+=1
  7. ))>2.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
hentai87 + 1 乐于助人

查看全部评分

发表于 2016-7-20 14:43:00 | 显示全部楼层
  1. gawk "{print "TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:productForm ATTR=ID:external_product_id_gio_child_"NR" CONTENT="$0}" 1.txt > 3.txt
复制代码
 楼主| 发表于 2016-7-20 15:05:15 | 显示全部楼层
回复 4# GNU

  1. 原文本
  2. 32636359096
  3. 32636359097
  4. 目标
  5. FRAME F = 1
  6. TAG POS=1 TYPE=INPUT:TEXT FORM=ID:search-product-form ATTR=ID:product-name CONTENT=32636359096
  7. TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:search-product-form ATTR=ID:submit-search
  8. TAG POS=1 TYPE=INPUT:CHECKBOX ATTR=ID:checkbox-all CONTENT=YES
  9. FRAME F = 1
  10. TAG POS=1 TYPE=INPUT:TEXT FORM=ID:search-product-form ATTR=ID:product-name CONTENT=32636359097
  11. TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:search-product-form ATTR=ID:submit-search
  12. TAG POS=1 TYPE=INPUT:CHECKBOX ATTR=ID:checkbox-all CONTENT=YES
复制代码
谢谢,还有个问题
如果不光要插入到前面,前后行都加指定字符串怎么写,这次不需要插入行号
 楼主| 发表于 2016-7-20 15:24:00 | 显示全部楼层
回复 2# pcl_test


    谢谢,6楼的问题怎么弄
发表于 2016-7-20 15:42:19 | 显示全部楼层
回复 7# hentai87

举一反三,学会变通呀
  1. @echo off
  2. (for /f %%i in ('type "1.txt"') do (
  3.     echo;FRAME F = 1
  4.     echo;TAG POS=1 TYPE=INPUT:TEXT FORM=ID:search-product-form ATTR=ID:product-name CONTENT=%%i
  5.     echo;TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:search-product-form ATTR=ID:submit-search
  6.     echo;TAG POS=1 TYPE=INPUT:CHECKBOX ATTR=ID:checkbox-all CONTENT=YES
  7. ))>"2.txt"
  8. pause
复制代码
 楼主| 发表于 2016-7-20 15:47:16 | 显示全部楼层
回复 8# pcl_test


    谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 13:11 , Processed in 0.023925 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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