中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-14 19:00
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 菜鸟咨询:怎样随机名字重命名文件?
楼 主 菜鸟咨询:怎样随机名字重命名文件? 发表于 2006-11-28 10:03 ·  中国 福建 泉州 晋江市 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
UID 71989
性别 男
状态 离线
怎样给指定文件夹内的指定文件重命名一个随机的名字(要求同一种文件类型)?
我只会改指定的名,不会改随机的..例如:
ren d:\abc\abc.txt abc1.txt

高手指导下,,,,非常感谢!!!

[ Last edited by namejm on 2006-11-27 at 10:12 PM ]
2 发表于 2006-11-28 10:07 ·  中国 福建 泉州 晋江市 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
UID 71989
性别 男
状态 离线
以当前时间来命名也行,":"应该要去掉吧..?
3 发表于 2006-11-28 10:10 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
UID 51697
来自 成都
状态 离线
  虽说是随机的名字,但是总有一定的限制的吧?文件名是纯数字?纯字母?数字+字母?或者其他类型?文件名长度是1个字符?2个字符?……一旦明确了你的要求,其余的事情都好办。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
4 发表于 2006-11-28 10:13 ·  中国 福建 泉州 晋江市 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
UID 71989
性别 男
状态 离线
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 ]
5 发表于 2006-11-28 10:16 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
UID 51697
来自 成都
状态 离线
  数字多少个?字母又要多少个?数字始终在字母前面吗?请把完整的要求一次性说清楚,这样才好写代码。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
6 发表于 2006-11-28 10:18 ·  中国 福建 泉州 晋江市 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
UID 71989
性别 男
状态 离线
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 ]
7 发表于 2006-11-28 10:30 ·  中国 福建 泉州 晋江市 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
UID 71989
性别 男
状态 离线
我纯属门外汉,见笑了~!!
8 发表于 2006-11-28 10:55 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
UID 51697
来自 成都
状态 离线
  由于到目前为止,你始终没有完整地描述你的要求,无法给出针对性的代码,只好先给你一段代码,演示一下如何获取随机的 字母+数字 类型的字符串:

@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没商量。
考虑问题复杂化,解决问题简洁化。
9 发表于 2006-11-28 11:03 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线


@echo off&setlocal ENABLEDELAYEDEXPANSION
set a=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$()-_=+]










[ Last edited by lxmxn on 2006-11-28 at 11:09 AM ]
10 发表于 2006-11-28 11:04 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线

  呵呵,namejm 兄真是快啊,刚把代码帖上来,就已经看见兄的代码在上面了,汗一个先~佩服~
11 发表于 2006-11-28 11:09 ·  中国 福建 泉州 晋江市 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
UID 71989
性别 男
状态 离线
感谢各位的热情,感动中...
已经搞定!!谢谢!!!!!!!!!!!!!

[ Last edited by ka56 on 2006-11-27 at 10:16 PM ]
12 发表于 2007-06-17 11:51 ·  中国 黑龙江 齐齐哈尔 联通
新手上路
积分 14
发帖 7
注册 2007-06-17 10:49
UID 91582
性别 男
状态 离线
佩服 以后有时间仔细研究
13 发表于 2007-08-31 14:05 ·  中国 江苏 苏州 联通
初级用户
积分 48
发帖 25
注册 2007-07-30 17:57
UID 94318
性别 男
状态 离线
看完代码,有了新的学习,谢谢
14 发表于 2007-08-31 17:54 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
//感谢斑斑,数字加字母即可,6个字符即可

产生随机字符串不是问题,关键在于文件很多的时候,随机字符串可能出现重复。
还是用系统日期+时间(当然要把特殊字符去掉)来作为文件名吧。
15 发表于 2007-08-31 19:05 ·  中国 湖南 联通数据上网公共出口
初级用户
积分 48
发帖 24
注册 2007-08-31 17:37
UID 96273
性别 男
状态 离线
学习了,感谢DOS联盟给我们的学习机会
论坛跳转: