中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-07 20:34
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎么用批处理替换不知道名字的文件? 查看 946 回复 3
楼 主 怎么用批处理替换不知道名字的文件? 发表于 2008-02-21 18:41 ·  中国 山东 泰安 电信
新手上路
积分 18
发帖 6
注册 2008-02-21 18:02
18年会员
UID 111157
性别 男
状态 离线
各位高手,唉。。小弟初来咋到,看了下各位的贴子,唉。。不知道什么时候才能达到各位的水平。。。奋头啊!

现在有个问题请教大家:

c盘下有两个txt文件,不知道文件名(因为文件名随机产生的),只知道一个大

小是10K,一个大小是20K,D盘下也有两个txt文件,名字分别是1.txe 2.txt

如何用批处理根据C盘里这两个文件的大小来获取文件名,然后复制D盘里的

1.txt到C盘覆盖掉10K大小的这个文件,并把名字改为获取的10K文件的名字,复

制2.txt到C盘覆盖掉20k大小的这个文件,并把名字改为获取的20k文件的名字?
2 发表于 2008-02-21 20:17 ·  中国 山东 泰安 电信
新手上路
积分 18
发帖 6
注册 2008-02-21 18:02
18年会员
UID 111157
性别 男
状态 离线
晕死,果然管用,哈哈。。神啦。。万分感谢啊。。。啊啊啊呀了。。真是想不到啊。。高手啊。。。我服气啦。。真服啦。。。批处理学得这么好,咋学的啊?太佩服了。。。解决了我的大问题啊。。学到这个深度,批处理还有不能做得事吗?望尘莫及啊,感谢。。同时感谢所有的朋友,没想到这里的朋友这么热心,本来觉得这个功能不可能用批处理实现的,没想到啊。。。
3 发表于 2008-03-18 13:44 ·  中国 湖北 武汉 武昌区 电信
初级用户
积分 40
发帖 16
注册 2007-10-21 04:17
18年会员
UID 100311
性别 男
状态 离线
麻烦可以解释下吗
@echo off
for %%i in (c:\*.txt) do (
if %%~zi==10240 (set n1=%%~nxi) else (set n2=%%~nxi)
)
copy d:\1.txt c:\%n1%
copy d:\2.txt c:\%n2%

上面的~zi是什么意思 是这样分解的 是文件大小值吗
还有他后面的SET 后面那些 不太理解麻烦解释下谢谢
4 发表于 2008-03-18 14:21 ·  中国 山西 运城 联通
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
22年会员
UID 19350
性别 男
状态 离线
原代码局限性较大
要达到使用价值还需做些扩展

另外
此类问题请到批处理室讨论
论坛跳转: