中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 16:01
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何复制文件夹A001->A001、A002、A003… 查看 1,291 回复 10
楼 主 如何复制文件夹A001->A001、A002、A003… 发表于 2006-12-30 09:40 ·  中国 广东 深圳 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
如何复制文件夹A001 成为多个文件夹(A001、A002、A003……)
2 发表于 2006-12-30 10:32 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  你的文件夹名是什么样的规律?
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
3 发表于 2006-12-30 10:56 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  没有测试.

@echo off
for /l %%a in (2,1,21) do (
xcopy /I /s/e A001 A00%%a
)
goto :eof
pause
4 发表于 2007-01-01 16:05 ·  中国 广东 深圳 龙岗区 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
Originally posted by namejm at 2006-12-30 10:32:
  你的文件夹名是什么样的规律?



前缀为A,后面的数字递增

[ Last edited by beyoungse on 2007-1-1 at 04:07 PM ]
5 发表于 2007-01-01 23:53 ·  中国 广东 广州 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
超过十位的话先进目录再复制,用cd a*%%i
6 发表于 2007-01-02 10:31 ·  中国 广东 深圳 龙岗区 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
三楼的大哥把A00做为前缀


复制到第9次的时候成了A0010

怎么样复制成为A010…… A100……A999


我是新手,今天开始努力学习了,有了实际应用就兴趣加倍了
7 发表于 2007-01-05 00:32 ·  中国 广东 深圳 宝安区 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
在另一个问题帖中看了namejm大侠的贴后生搬硬套有点效果
http://www.cn-dos.net/forum/viewthread.php?tid=26303&fpage=1&highlight=

@echo off
for /l %%a in (2,9,100) do call :xcopy_ %%a

:xcopy_
set num=00%1
set name=a%num:~-3%
xcopy /I /s/e A001 %name%
goto :eof


可是会生成a00

请帮我改进
谢谢
8 发表于 2007-01-05 01:56 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

@echo off&Setlocal EnableDelayedExpansion
for /l %%a in (2,1,100) do (
set num=00%%a
set num=A!num:~-3!
xcopy /I /s/e A001 !num!
)
pause
goto :eof


[ Last edited by lxmxn on 2007-1-4 at 12:57 PM ]
9 发表于 2007-01-05 04:32 ·  中国 广东 深圳 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
谢谢你


Setlocal EnableDelayedExpansion 启到什么做用呢?



@echo off&Setlocal EnableDelayedExpansion
for /l %%a in (2,1,100) do (
set num=00%%a
set num=A!num:~-3!
xcopy /I /s/e A001 !num!
)
pause
goto :eof
10 发表于 2007-08-23 12:11 ·  中国 广东 深圳 福田区 电信
新手上路
积分 2
发帖 1
注册 2007-01-02 05:48
19年会员
UID 75239
性别 男
状态 离线
为什么要复制呢.创建不行吗?
@echo off
for /l %%i in (1,1,101) do md a%%i
pause
exit
11 发表于 2007-08-23 12:37 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
Originally posted by jerald at 2007-8-23 12:11:
为什么要复制呢.创建不行吗?
@echo off
for /l %%i in (1,1,101) do md a%%i
pause
exit


复制和创建一样麽?
你这样保证位数了麽?
论坛跳转: