中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]一个关于更名的BAT的写法或思路
作者:
标题: [求助]一个关于更名的BAT的写法或思路 上一主题 | 下一主题
cad55
高级用户





积分 620
发帖 329
注册 2007-12-5
状态 离线
『楼 主』:  [求助]一个关于更名的BAT的写法或思路

请大帮一下: 在某个文件夹内有多个或一个数量不等,且是加长名的*.TXT文件。 想将些TXT,复制至其它文件夹内,后将它们更名,(按时间或什么的不重复就可)。(原文件夹的内的TXT名称不变) 将各位写一下。。。 或者提示一下,怎样“模糊”查询,哪些数量不等的文件。。。。


2008-11-30 09:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sea1112
初级用户





积分 131
发帖 119
注册 2007-6-12
来自 gz
状态 离线
『第 2 楼』:  

看不明你说什么,给个图例说解一下吧。


2008-11-30 09:43
查看资料  发送邮件  发短消息 网志  OICQ (24278528)  编辑帖子  回复  引用回复
cad55
高级用户





积分 620
发帖 329
注册 2007-12-5
状态 离线
『第 3 楼』:  

A文件夹有:001.txt 1233er4.txt {7C709B24-F250-4B5C-9B71-3993875B0E95}.txt {7C709B24-F250-4B5C-9B71-3993875B0rrgg5}.txt .............等不规则的文件 想将这些文件复制至 B文件夹,且更名为:11.30.9.32.txt 11.30.9.33.txt 11.30.9.34.txt .........等,用时间命名或用其它不重复的命名方法。


2008-11-30 09:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kissbill
初级用户





积分 61
发帖 35
注册 2008-10-4
状态 离线
『第 4 楼』:  

看下这个能用否
@echo off
for /f "delims=" %%i in ('dir /b /a-d *.txt') do (copy "%%i" "b\123%%~ni.txt" >nul 2>nul)
pause


2008-11-30 11:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sea1112
初级用户





积分 131
发帖 119
注册 2007-6-12
来自 gz
状态 离线
『第 5 楼』:  

::把所有*.txt文件复制到d:\b\目录,以数字改名 @echo off for /f "delims=" %%i in ('dir /b/s *.txt') do (set /a num+=1&&call copy %%i d:\b\%num%.txt /y) ::把所有*.txt文件复制到d:\b\目录,以时间改名 @echo off for /f "delims=" %%i in ('dir /b/s *.txt') do (call copy %%i d:\b\%time:~0,2%.%time:~3,2%.%time:~6,2%.txt.txt /y)


2008-11-30 21:52
查看资料  发送邮件  发短消息 网志  OICQ (24278528)  编辑帖子  回复  引用回复
cad55
高级用户





积分 620
发帖 329
注册 2007-12-5
状态 离线
『第 6 楼』:  

先谢一下楼上两位 但代码均不可用。 将sea1112的代码修改一下可以用: @echo off for /f "delims=" %%i in ('dir /b/s *.txt') do (set /a num+=1&&call copy %%i d:\b\%%num%%.txt /y) 但它不能对中文名的TXT作用。还请再改改。。。谢谢了


2008-11-30 22:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sea1112
初级用户





积分 131
发帖 119
注册 2007-6-12
来自 gz
状态 离线
『第 7 楼』:  

@echo off for /f "delims=" %%i in ('dir /b/s *.txt') do (set /a num+=1&&call copy "%%i" "d:\b\%%num%%.txt" /y) %%i改为“%%i”就好了。是copy 后边的变量加"" 为什么要%%num%%这样啊, %num%就可以了。 [ Last edited by sea1112 on 2008-11-30 at 23:22 ]


2008-11-30 23:13
查看资料  发送邮件  发短消息 网志  OICQ (24278528)  编辑帖子  回复  引用回复
cad55
高级用户





积分 620
发帖 329
注册 2007-12-5
状态 离线
『第 8 楼』:  

Originally posted by sea1112 at 2008-11-30 11:13 PM: @echo off for /f "delims=" %%i in ('dir /b/s *.txt') do (set /a num+=1&&call copy "%%i" d:\b\%%num%%.txt /y) %%i改为“%%i”就好了。是copy 后边的变量加 ...
好,,可以了 太感谢了 (但%num%不可以。。。) [ Last edited by cad55 on 2008-11-30 at 23:18 ]


2008-11-30 23:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sea1112
初级用户





积分 131
发帖 119
注册 2007-6-12
来自 gz
状态 离线
『第 9 楼』:  

那就用%%num%%吧,给我+分 ^_^ 有问题一定帮你


   此帖被 +5 点积分       点击查看详情   
评分人:【 cad55 分数: +5  时间:2008-11-30 23:25


2008-11-30 23:24
查看资料  发送邮件  发短消息 网志  OICQ (24278528)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: