批处理高手帮个忙 变量处理 (搞定了再加送50分)

来源:百度知道 编辑:UC知道 时间:2024/07/07 01:03:40
现有一字符串值: 字符串一S1字符串二
该字符串值(字符串一和二都有可能含.)存放在list.txt文件里 而且仅有这个字符串
当S1为数字时 ,请问如何根据用户依次输入的开始数,步进数,结束数(这三个数分别用一变量来保存)来 产生一系列的字符串(如果我输入的是 9,2,15)
形如
字符串一9字符串二 ;
字符串一11字符串二 ;
字符串一13字符串二 ;
字符串一15字符串二 ;
并将这一系列字符串自动保存到lists.txt文件下

当S1为中文数字时(就是一,二,三时) ,请问如何根据用户依次输入的开始数,步进数,结束数(这三个数分别用一个变量来保存)来 产生一系列的字符串(如果我输入的是 9,2,15)
形如
字符串一九字符串二 ;
字符串一十一字符串二 ;
字符串一十三字符串二 ;
字符串一十五字符串二 ;
并将这一系列字符串自动保存到lists.txt文件下
用vbs bat cmd任意一个都可以 只要能实现这个功能
S1在list.txt中是符号^或&之类的 不会是字母和数字 代替 用S1只是为了方便表达 我说的当S1为中文数字时就是想要生成的字符串中S1用中文数字代替, 可以确定的是中文数字在二百以内

第1个好搞,第2个嘛.今天太晚了,等明天在看看吧,好象很麻烦......

@echo off
set/p a=开始数:
set/p b=步进数:
set/p c=结束数:
for /f "tokens=1,2 delims=S1" %%a in (list.txt)do set sr1=%%a&set sr2=%%b
for /l %%i in (%a% %b% %c%)do echo %sr1%%%i%sr2% >>lists.txt

第二个真长!!!代码如下:

@echo off&setlocal EnableDelayedExpansion
set/p a=开始数:
set/p b=步进数:
set/p c=结束数:
for /f "tokens=1,2 delims=S1" %%a in (list.txt)do set sr1=%%a&set sr2=%%b
for /l %%i in (%a% %b% %c%)do (
call:aa %%i
echo !sr1!!str!!sr2! >>lists.txt
)
start lists.txt
exit

::以下部分即是汉化!
:aa
set ma=%1
for /l %%i in (0 1 1000) do if "!ma:~%%i,1!"=="" set slen=%%i&goto :bb
:bb
set/a n=1&set m=!ma:~-1,1!&call:cc
if %slen% gtr 1 set/a n+=1&set "m=!ma:~-2,1!"&call:cc
if %slen% gtr 2 set/a n+=1&set "m=!ma:~-3,1!"&call:cc
if %slen% gtr 3 set/a