中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 06:48
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » (求助)如何批量生成文件 查看 1,168 回复 14
楼 主 (求助)如何批量生成文件 发表于 2007-07-03 23:46 ·  中国 北京 鹏博士BGP
初级用户
积分 126
发帖 47
注册 2007-07-02 17:00
19年会员
UID 92952
性别 男
状态 离线
因为要做一个工作,需要在一个文件夹中做上百个记事本文件,并且按顺序命名,有没有办法先创建一个文件,然后用批处理完成下面的工作
比如说我想在D:\666下建名字为S001-----S100这样一百个空的文本文件,请问我应该怎么写批处理。我可以先手动建一个名为S001的文本文件,接下来我应该怎么办?
2 发表于 2007-07-04 01:23 ·  中国 广东 深圳 电信
初级用户
积分 52
发帖 24
注册 2007-05-09 14:26
19年会员
UID 87949
性别 男
状态 离线
试试这个可行不。。。




@echo off
color 1f
:01
set /a bar=%choice%+1
echo. > s%bar%.txt
set choice=%bar%
if /i "%choice%"=="100" goto et
goto 01
:et
exit
3 发表于 2007-07-04 01:46 ·  中国 广西 来宾 电信
初级用户
积分 85
发帖 39
注册 2007-06-28 22:22
19年会员
UID 92624
性别 男
状态 离线
@echo off
for /l %%i in (1,1,99) do if %%i LSS 10 (call :xy10 %%i) else (call :dy10 %%i)
echo.>S100.txt
goto :end
:xy10
echo.>S00%1.txt&&goto :eof
:dy10
echo.>S0%1.txt&&goto :eof
:end
pause
exit
4 发表于 2007-07-04 01:50 ·  中国 广东 佛山 电信
高级用户
★★
我思故我在
积分 512
发帖 228
注册 2007-01-21 10:31
19年会员
UID 77225
性别 男
状态 离线
@echo off & setlocal ENABLEDELAYEDEXPANSION
for /l %%a in (1,1,100) do (
if %%a lss 10 (set var=00%%a) else (
if %%a lss 100 (set var=0%%a) else (
set var=%%a
)
)
type nul >D:\666\S!var!.txt
)
我确实是只菜鸟,而且这里X人太多,所以我不敢装X。谁要再说我装X,我就XXOO他。
5 发表于 2007-07-04 02:01 ·  中国 广东 佛山 电信
高级用户
★★
我思故我在
积分 512
发帖 228
注册 2007-01-21 10:31
19年会员
UID 77225
性别 男
状态 离线
来迟一步 ^_^!

3楼兄弟方法比我好,学习了,论坛应该很多这方面的文章,LZ可以搜索下
我确实是只菜鸟,而且这里X人太多,所以我不敢装X。谁要再说我装X,我就XXOO他。
6 发表于 2007-07-04 11:01 ·  中国 湖北 武汉 电信
中级用户
★★
积分 471
发帖 207
注册 2007-05-03 14:53
19年会员
UID 87369
性别 男
状态 离线
@for /L %%a in (1,1,100) do @if %%a lss 10 (cd.>00%%a.txt) else (if %%a leq 99 (cd.>0%%a.txt) else (cd.>%%a.txt))
7 发表于 2007-07-04 11:30 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
这个有很多方法。
@echo off&setlocal enabledelayedexpansion
for /l %%i in (1,1,100) do (set var=00%%i&cd.>S!var:~-3!.txt)
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
8 发表于 2007-07-04 11:41 ·  中国 广西 来宾 电信
初级用户
积分 85
发帖 39
注册 2007-06-28 22:22
19年会员
UID 92624
性别 男
状态 离线
Originally posted by ccwan at 2007-7-4 11:30 AM:
这个有很多方法。
@echo off&setlocal enabledelayedexpansion
for /l %%i in (1,1,100) do (set var=00%%i&cd.>S!var:~-3!.txt)

这个比较精简!赫赫,没想到这个思路,谢谢了
9 发表于 2007-07-04 22:30 ·  中国 湖北 潜江 电信
高级用户
★★★
积分 894
发帖 411
注册 2007-02-17 12:15
19年会员
UID 79697
性别 男
状态 离线
七楼写的真好
@set c= 不知则觉多,知则觉少,越知越多,便觉越来越少. --- 知多少.
@for,/l,%%i,in,(1,1,55)do,@call,set/p=%%c:~%%i,1%%<nul&ping/n 1 127.1>nul


10 发表于 2007-07-05 00:35 ·  中国 广东 广州 鹏博士宽带
初级用户
★★
积分 176
发帖 78
注册 2007-04-15 10:53
19年会员
UID 85268
性别 男
状态 离线
思路明确,方法简洁,强!
11 发表于 2007-07-05 08:47 ·  中国 辽宁 本溪 联通
银牌会员
★★★
积分 1,212
发帖 464
注册 2006-12-13 21:11
19年会员
UID 73417
性别 男
状态 离线
参考CCWN兄的代码写个VBS的,纯属灌水!

for i=1 to 100:createobject("scripting.filesystemobject").createtextfile("s" & right("00" & i,3) & ".txt"):next
12 发表于 2007-07-05 13:24 ·  中国 北京 鹏博士BGP
初级用户
积分 126
发帖 47
注册 2007-07-02 17:00
19年会员
UID 92952
性别 男
状态 离线
谢谢大家对我的帮助,谢谢!
13 发表于 2007-07-05 18:01 ·  中国 陕西 西安 电信
初级用户
铂金会员
积分 44
发帖 21
注册 2007-04-15 04:26
19年会员
UID 85218
性别 男
状态 离线
一个小问题,居然可以有这么多的解决方案!牛啊!
14 发表于 2007-07-05 20:49 ·  中国 广西 玉林 电信
新手上路
积分 14
发帖 5
注册 2007-06-23 19:36
19年会员
UID 92178
性别 男
状态 离线
3楼的好!
15 发表于 2007-07-08 13:50 ·  中国 陕西 西安 电信
初级用户
积分 51
发帖 26
注册 2007-05-13 15:08
19年会员
UID 88407
性别 男
状态 离线
cd. 是什么东西啊?查不到啊
论坛跳转: