|
ka56
中级用户
积分 234
发帖 129
注册 2006-11-28
状态 离线
|
『楼 主』:
菜鸟咨询:怎样随机名字重命名文件?
怎样给指定文件夹内的指定文件重命名一个随机的名字(要求同一种文件类型)?
我只会改指定的名,不会改随机的..例如:
ren d:\abc\abc.txt abc1.txt
高手指导下,,,,非常感谢!!!
[ Last edited by namejm on 2006-11-27 at 10:12 PM ]
|
|
2006-11-28 10:03 |
|
|
ka56
中级用户
积分 234
发帖 129
注册 2006-11-28
状态 离线
|
『第
2 楼』:
以当前时间来命名也行,":"应该要去掉吧..?
|
|
2006-11-28 10:07 |
|
|
namejm
荣誉版主
batch fan
积分 5226
发帖 1737
注册 2006-3-10 来自 成都
状态 离线
|
『第
3 楼』:
虽说是随机的名字,但是总有一定的限制的吧?文件名是纯数字?纯字母?数字+字母?或者其他类型?文件名长度是1个字符?2个字符?……一旦明确了你的要求,其余的事情都好办。
|
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。 |
|
2006-11-28 10:10 |
|
|
ka56
中级用户
积分 234
发帖 129
注册 2006-11-28
状态 离线
|
『第
4 楼』:
Quote: | Originally posted by namejm at 2006-11-27 21:10:
虽说是随机的名字,但是总有一定的限制的吧?文件名是纯数字?纯字母?数字+字母?或者其他类型?文件名长度是1个字符?2个字符?……一旦 ... |
|
感谢斑斑,数字加字母即可,6个字符即可..
[ Last edited by ka56 on 2006-11-27 at 09:15 PM ]
|
|
2006-11-28 10:13 |
|
|
namejm
荣誉版主
batch fan
积分 5226
发帖 1737
注册 2006-3-10 来自 成都
状态 离线
|
『第
5 楼』:
数字多少个?字母又要多少个?数字始终在字母前面吗?请把完整的要求一次性说清楚,这样才好写代码。
|
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。 |
|
2006-11-28 10:16 |
|
|
ka56
中级用户
积分 234
发帖 129
注册 2006-11-28
状态 离线
|
『第
6 楼』:
Quote: | Originally posted by namejm at 2006-11-27 21:16:
数字多少个?字母又要多少个?数字始终在字母前面吗?请把完整的要求一次性说清楚,这样才好写代码。 |
|
0~9,abcdefg就行,字母在前 ,,,
[ Last edited by ka56 on 2006-11-27 at 09:29 PM ]
|
|
2006-11-28 10:18 |
|
|
ka56
中级用户
积分 234
发帖 129
注册 2006-11-28
状态 离线
|
|
2006-11-28 10:30 |
|
|
namejm
荣誉版主
batch fan
积分 5226
发帖 1737
注册 2006-3-10 来自 成都
状态 离线
|
『第
8 楼』:
由于到目前为止,你始终没有完整地描述你的要求,无法给出针对性的代码,只好先给你一段代码,演示一下如何获取随机的 字母+数字 类型的字符串:
@echo off
setlocal enabledelayedexpansion
:begin
cls
set str1=abcdefghijklmnopqrstuvwxyz
set str2=0123456789
set /a char=%random%%%26
set /a num=%random%%%10
echo !str1:~%char%,1!!str2:~%num%,1!
pause
goto begin [ Last edited by namejm on 2006-11-27 at 10:15 PM ]
|
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。 |
|
2006-11-28 10:55 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
9 楼』:
@echo off&setlocal ENABLEDELAYEDEXPANSION
set a=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$()-_=+][~
set /a a_=(%random%+65)%%65
set /a b_=(%random%+65)%%65
set /a c_=(%random%+65)%%65
set /a d_=(%random%+65)%%65
set /a e_=(%random%+65)%%65
set /a f_=(%random%+65)%%65
rename d:\abc\abc.txt !a:~%a_%,1!!a:~%b_%,1!!a:~%c_%,1!!a:~%d_%,1!!a:~%e_%,1!!a:~%f_%,1!.txt
pause
[ Last edited by lxmxn on 2006-11-28 at 11:09 AM ]
|
|
2006-11-28 11:03 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
10 楼』:
呵呵,namejm 兄真是快啊,刚把代码帖上来,就已经看见兄的代码在上面了,汗一个先~佩服~
|
|
2006-11-28 11:04 |
|
|
ka56
中级用户
积分 234
发帖 129
注册 2006-11-28
状态 离线
|
『第
11 楼』:
感谢各位的热情,感动中...
已经搞定!!谢谢!!!!!!!!!!!!!
[ Last edited by ka56 on 2006-11-27 at 10:16 PM ]
|
|
2006-11-28 11:09 |
|
|
tiancaizfy
新手上路
积分 14
发帖 7
注册 2007-6-17
状态 离线
|
|
2007-6-17 11:51 |
|
|
rockdong
初级用户
积分 48
发帖 25
注册 2007-7-30
状态 离线
|
|
2007-8-31 14:05 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
14 楼』:
//感谢斑斑,数字加字母即可,6个字符即可
产生随机字符串不是问题,关键在于文件很多的时候,随机字符串可能出现重复。
还是用系统日期+时间(当然要把特殊字符去掉)来作为文件名吧。
|
|
2007-8-31 17:54 |
|
|
xxi
初级用户
积分 48
发帖 24
注册 2007-8-31
状态 离线
|
『第
15 楼』:
学习了,感谢DOS联盟给我们的学习机会
|
|
2007-8-31 19:05 |
|