|
yuseecn
初级用户
积分 30
发帖 14
注册 2008-3-28
状态 离线
|
『楼 主』:
求助:文本中的数值+1
我是新手,想用p解决以下问题:
文本a.txt中的内容:
365496a5863f4
注意:前面有3个空格,数字是未知的,365496a5863f4只是举例。
想在第6、7、8和11、12、13字符上加1后写入a.txt中,得到的结果为:
366506a6973f4
在论坛中搜索了好几天没找见相关内容。
第一个问题在第8楼解决。
乱码问题:乱码文本内容 +?:V??J俙俪愊 c; ? 。
http://upload.cn-dos.net/img/315.txt怎莫将其中的“黑方块”在c后面增加1个,在?后面增加1个,在最后1个“黑方块”后增加1个,(“黑方块”和乱码不知怎样输入)。
有些字符显示不了,复制到文本文件中才能显示。
[ Last edited by yuseecn on 2008-4-21 at 10:44 AM ]
|
|
2008-4-18 16:39 |
|
|
moniuming
银牌会员
永远的菜鸟
积分 1335
发帖 574
注册 2007-11-27 来自 广西
状态 离线
|
|
2008-4-18 17:48 |
|
|
yuseecn
初级用户
积分 30
发帖 14
注册 2008-3-28
状态 离线
|
『第
3 楼』:
字符截取知道,字符+1不会,比如说:截取第5个字符是6就+1=7,如果是2就+1=3
只改其中的几个字符,其他不改,再者如果有特殊字符http://upload.cn-dos.net/img/302.jpg怎莫将其中的“黑方块”增加成5个?
[ Last edited by yuseecn on 2008-4-18 at 06:06 PM ]
|
|
2008-4-18 18:04 |
|
|
bat-zw
金牌会员
永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
4 楼』:
没想到搞这个还费了点功夫:
@echo off
for /f "delims= " %%i in (a.txt) do set n=-1&set a=%%i&call :lp %%a%%
goto :eof
:lp
set /a n+=1
call,set var=%%a:~%n%,1%%
for %%i in (2,3,4,7,8,9) do if %n% equ %%i set /a var+=1
if %var% equ 10 set var=0
set str=%str%%var%
if %n% lss 12 goto lp
echo %str%>a.txt
start a.txt PS:要想解决你的第二个问题,请把字符贴出来,并把问题描述清楚。
[ Last edited by zw19750516 on 2008-4-18 at 07:22 PM ]
|
批处理之家新域名:www.bathome.net |
|
2008-4-18 18:54 |
|
|
pusofalse
银牌会员
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
『第
5 楼』:
@echo off
for /f "delims= " %%i in (a.txt) do set n=-1&set a=%%i&call :lp %%a%%
goto :eof
:lp
set /a n+=1
call,set var=%%a:~%n%,1%%
for %%i in (2,3,4,7,8,9) do if %n% equ %%i set /a var+=1
if %var% equ 10 set var=0
set str=%str%%var%
if %n% lss 12 goto lp
echo %str%>a.txt
start a.txt
请问倒数第四行的set str=%str%%var% 中的%str% 是什么意思?
之前并没有赋值。。。谢谢,本人菜鸟~
|
|
2008-4-18 20:44 |
|
|
bat-zw
金牌会员
永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
6 楼』:
解释一下:
set str=%str%%var%的意思是把变量var不断地追加给变量str,第一次时%str%为空str=%var1%,第二次时%str%=str=%var1%,str=%var1%%var2%,第三次时%str%=%var1%%var2%str=%var1%%var2%%var3%,依此类推一直到输出。
|
批处理之家新域名:www.bathome.net |
|
2008-4-18 21:00 |
|
|
pusofalse
银牌会员
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
『第
7 楼』:
谢谢!!明白了,一直困扰我好久的问题~~T.T
|
|
2008-4-18 21:02 |
|
|
26933062
银牌会员
积分 2268
发帖 879
注册 2006-12-19
状态 离线
|
『第
8 楼』:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.txt) do (
set str=%%i
for %%a in (6 7 8 11 12 13) do (
set /a m=%%a-1
call set /a n=%%str:~!m!,1%%+1
call set str=%%str:~0,!m!%%!n:~-1!!str:~%%a!
)
echo !str!
)
pause [ Last edited by 26933062 on 2008-4-19 at 07:38 AM ]
|
致精致简! |
|
2008-4-19 06:35 |
|
|
yuseecn
初级用户
积分 30
发帖 14
注册 2008-3-28
状态 离线
|
|
2008-4-21 10:22 |
|