中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-18 10:52
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 产生有规律的数 excel 与 for 查看 825 回复 10
楼 主 产生有规律的数 excel 与 for 发表于 2007-05-14 16:21 ·  中国 广东 广州 荔湾区 电信
初级用户
★★
积分 180
发帖 68
注册 2006-12-21 23:44
UID 74192
性别 男
来自 China
状态 离线
我靠
小弟不学无术
本想用for产生001 002 003----到一个文本
痛苦的是不会写这个批处理
在论坛上搜了一下for

共有21页
最后突然想到那个excel有个单元格可设格式什么的
果然
不太费周折就产生了001 002 003
再另存为文本

有那位兄弟教我一下这个批处理如何写
或者给我个连接
让我去看

先谢谢了
2 发表于 2007-05-14 16:38 ·  中国 浙江 杭州 联通
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
UID 75624
性别 男
状态 离线
什么意思?是想在文本里产生
001 002 003 。。。

还是

001
002
003
。。。
3 发表于 2007-05-16 01:46 ·  中国 广东 河源 电信
初级用户
★★
积分 180
发帖 68
注册 2006-12-21 23:44
UID 74192
性别 男
来自 China
状态 离线
谢谢兄弟

是001
002
003
.......
4 发表于 2007-05-16 08:19 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
UID 44210
状态 离线
@echo off
cd.>test.txt
:loop
set /a n+=1
set str=%n%
if %n% geq 10 if %n% lss 100 set str=0%n%
if %n% lss 10 set str=00%n%
>>test.txt echo %str%
if %n% lss 50 goto loop
pause
5 发表于 2007-05-16 08:45 ·  中国 上海 电信
初级用户
★★
积分 180
发帖 84
注册 2006-09-07 00:33
UID 61995
状态 离线
@echo off
cd.>a.txt
for /l %%i in (1,1,999) do (
if %%i LEQ 9 (echo 00%%i>>a.txt ) else (if %%i LEQ 99 (echo 0%%i>>a.txt) else (if %%i LEQ 999 echo %%i>>a.txt))
)
6 发表于 2007-05-16 10:58 ·  中国 广东 广州 天河区 电信
高级用户
★★★
潜水修练批处理
积分 788
发帖 366
注册 2006-12-31 02:43
UID 75048
性别 男
状态 离线
用if来加上0,如果数据比较大,达到了5位数,那就要写很多个if了,弄个不用if加上0的方法,暂时以3位数为例:


@echo off
for /l %%i in (1,1,999) do call :doit
goto :eof

:doit
set "num=00%1"
echo %num:~-3%>>a.txt
goto :eof
正在潜水修练的批处理小白
7 发表于 2007-05-16 11:11 ·  中国 福建 福州 连江县 电信
中级用户
★★
积分 356
发帖 115
注册 2004-07-27 00:00
UID 29114
性别 男
状态 离线
@echo off
for /l %%i in (1,1,999) do (
set asd=000%%i
call echo %%asd:~-3%%>>a.txt
)
8 发表于 2007-05-16 11:15 ·  中国 广东 广州 电信
高级用户
★★★
潜水修练批处理
积分 788
发帖 366
注册 2006-12-31 02:43
UID 75048
性别 男
状态 离线
Originally posted by balinger at 2007-5-16 11:11 AM:
@echo off
for /l %%i in (1,1,999) do (
set asd=000%%i
call echo %%asd:~-3%%>>a.txt
)


这个代码是不行的
建议搜索一下变量延迟
正在潜水修练的批处理小白
9 发表于 2007-05-16 14:03 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
UID 44210
状态 离线
Originally posted by dikex at 2007-5-16 11:15:


这个代码是不行的
建议搜索一下变量延迟

7 楼代码可以,因为使用了call+%%asd:~-3%%
10 发表于 2007-05-16 14:55 ·  中国 上海 东方有线
初级用户
积分 24
发帖 13
注册 2007-05-16 09:29
UID 88670
性别 男
状态 离线
这个代码是不行的
11 发表于 2007-05-16 16:10 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
UID 44210
状态 离线
说 7 楼代码不行的麻烦自己试试看
论坛跳转: