标题: [文本处理] 【已解决】批处理如何实现每运行一次就对指定文本内的特定数字自增一/加一/加1/自增1 [打印本页]
作者: xiaomu 时间: 2016-8-19 11:14 标题: 【已解决】批处理如何实现每运行一次就对指定文本内的特定数字自增一/加一/加1/自增1
本帖最后由 pcl_test 于 2017-3-22 00:06 编辑
批处理如何实现运行一次,对指定文本内容中0001做自加一操作变0002
两个文件在同目录下:1.bat 1.txt
运行一次1.bat 对1.txt中的文本内容“0001”做一次加1操作,变为“0002”
再次运行1.bat 则“0002”变成“0003”
一次类推。
补充:
1.txt中的一部分文本示例如下:
Select
ORDERINFO.ORDER_NO
From
(ORDERINFO left join CLIENTINFO on CLIENTINFO.ID = ORDERINFO.CLIENT_ID) left join(ORDERDETAIL left join GOODSINFO on GOODSINFO.ID = ORDERDETAIL.GOODS_ID) on ORDERDETAIL.ORDER_ID = ORDERINFO.ID
Where
ORDER_NO LIKE '%0001' AND
BILLTYPE = '2';
Select
CLIENTINFO.CLIENT_NAME
From
(ORDERINFO left join CLIENTINFO on CLIENTINFO.ID = ORDERINFO.CLIENT_ID) left join(ORDERDETAIL left join GOODSINFO on GOODSINFO.ID = ORDERDETAIL.GOODS_ID) on ORDERDETAIL.ORDER_ID = ORDERINFO.ID
Where
ORDER_NO LIKE '%0001' AND
BILLTYPE = '2';
运行后、希望将代码中的0001 变0002。
依次类推
作者: xxpinqz 时间: 2016-8-19 11:46
兄弟,求助,没要你低声下气,但最基本的把条件给足,顺带举个例子,这不是难事吧。
特别是这种替换的,随便写两句给你,不合适,又来改,浪费大家时间不是。
作者: xiaomu 时间: 2016-8-19 12:37
回复 2# xxpinqz
哥们。我也想贴个图表示清楚。我新手、第一次发 贴图被删帖了。。。我就不敢贴图了。。。。
作者: xiaomu 时间: 2016-8-19 12:39
回复 2# xxpinqz
哥们。我补充了一下。您看看这样可以吗
作者: xxpinqz 时间: 2016-8-19 14:10
- @echo off&setlocal enabledelayedexpansion
- (for /f "delims=" %%a in ('findstr /n .* 1.txt') do (
- set "str=%%a"
- if not "!str:LIKE '%%=!"=="%%a" (
- if not defined n (
- for /f "tokens=2 delims='%%" %%b in ("%%a") do set "n=%%b"
- set /a m=1!n!+1
- )
- for /f "tokens=1,2" %%c in ("!n! !m:~-4!") do set "str=!str:%%c=%%d!"
- )
- echo,!str:*:=!
- ))>tmp
- move tmp 1.txt
复制代码
作者: xiaomu 时间: 2016-8-19 14:36
回复 5# xxpinqz
大哥。我提的那个百度的问题是不是也是你回答的。多谢你了!
作者: WHY 时间: 2016-8-20 11:08
- @if (0)==(0) echo off
- cscript //nologo //e:jscript "%~f0" < a.txt
- pause & exit
- @end
-
- var s = WSH.StdIn.ReadAll().replace(/\d{4}/g,function(s0){return (1*('1'+s0)+1+'').substr(1)});
- WSH.Echo(s)
复制代码
作者: WHY 时间: 2016-8-20 11:10
- gawk "{if(match($0,/(.*'%%)([0-9]{4})('.*)/,a))$0=a[1]substr((\"1\"a[2])+1,2)a[3]};1" a.txt
复制代码
作者: xiaomu 时间: 2016-8-20 21:09
回复 8# WHY
谢谢你的回答!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |