中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-07 15:14
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]两种更名BAT 查看 988 回复 12
楼 主 [求助]两种更名BAT 发表于 2008-01-23 14:17 ·  中国 江苏 扬州 电信
高级用户
★★★
积分 620
发帖 329
注册 2007-12-05 15:34
18年会员
UID 104754
性别 男
状态 离线
求两种更名BAT.

1\将任意或无扩展名的文件,拖入其上时,将文件名更改为:原名.rar
2\将任意文件.拖放其上时,将文件名更改为:原名.无扩展名


关键:1\手动拖入.
2\对原文件内容无任何影响.仅更名....


若能..支持..多个文件选择....实现上述效果...就更加完美..........

[ Last edited by cad55 on 2008-1-23 at 02:29 PM ]
2 发表于 2008-01-23 15:16 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线

@echo off
ren "%1" "%~n1.rar"
3 发表于 2008-01-23 15:24 ·  中国 江苏 扬州 电信
高级用户
★★★
积分 620
发帖 329
注册 2007-12-05 15:34
18年会员
UID 104754
性别 男
状态 离线
Originally posted by HAT at 2008-1-23 03:16 PM:

@echo off
ren "%1" "%~n1.rar"



谢谢..但没有任何效果......

还请..研究一下....
4 发表于 2008-01-23 16:19 ·  中国 江苏 泰州 电信
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线

ren "%~1" "%~n1.rar"
5 发表于 2008-01-23 16:54 ·  中国 江苏 扬州 电信
高级用户
★★★
积分 620
发帖 329
注册 2007-12-05 15:34
18年会员
UID 104754
性别 男
状态 离线
Originally posted by huahua0919 at 2008-1-23 04:19 PM:

ren "%~1" "%~n1.rar"



好...

谢谢..

但:
还请一下,,,将属性,只读或归档.的也有效...
6 发表于 2008-01-23 17:22 ·  中国 江苏 泰州 电信
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
我试了下,只读,归档的文件也可以的
你也可以在这样

attrib -r -a "%~1"
ren "%~1" "%~n1.rar"

但是好象没什么必要
7 发表于 2008-01-23 20:42 ·  中国 江苏 扬州 电信
高级用户
★★★
积分 620
发帖 329
注册 2007-12-05 15:34
18年会员
UID 104754
性别 男
状态 离线
Originally posted by huahua0919 at 2008-1-23 05:22 PM:
我试了下,只读,归档的文件也可以的
你也可以在这样

attrib -r -a "%~1"
ren "%~1" "%~n1.rar"

但是好象没什么必要



能不能,,支持多个文件同时..拖放....

谢谢......
8 发表于 2008-01-24 01:45 ·  中国 福建 福州 电信
中级用户
★★
积分 458
发帖 211
注册 2006-07-26 19:42
20年会员
UID 59307
状态 离线
最多能一次拖九个:

ren "%~1" "%~n1.rar"
ren "%~2" "%~n2.rar"
ren "%~3" "%~n3.rar"
ren "%~4" "%~n4.rar"
ren "%~5" "%~n5.rar"
ren "%~6" "%~n6.rar"
ren "%~7" "%~n7.rar"
ren "%~8" "%~n8.rar"
ren "%~9" "%~n9.rar"


且用循环好像不行(我不会)。望高人指点。
9 发表于 2008-01-24 13:54 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
shift
10 发表于 2008-01-24 22:10 ·  中国 福建 福州 电信
中级用户
★★
积分 458
发帖 211
注册 2006-07-26 19:42
20年会员
UID 59307
状态 离线
多谢slore,可以更改超过9个了,
还有个问题就是怎么判断拖动文件的个数?


:loop
set /a n+=1
if %n% geq 200 (goto :eof) else ren "%~1" "%~n1.rar"
shift
goto :loop


把n值设大点就好了,暂时的办法。

[ Last edited by wxcute on 2008-1-24 at 10:54 PM ]
11 发表于 2008-01-25 10:14 ·  中国 江苏 扬州 电信
高级用户
★★★
积分 620
发帖 329
注册 2007-12-05 15:34
18年会员
UID 104754
性别 男
状态 离线
Originally posted by wxcute at 2008-1-24 10:10 PM:
多谢slore,可以更改超过9个了,
还有个问题就是怎么判断拖动文件的个数?


:loop
set /a n+=1
if %n% geq 200 (goto :eof) else ren "%~1" "%~n1.r ...



谢谢兄台.......



比较完美...................高手呀......

[ Last edited by cad55 on 2008-1-25 at 10:22 AM ]
12 发表于 2008-01-26 02:17 ·  中国 福建 福州 电信
中级用户
★★
积分 458
发帖 211
注册 2006-07-26 19:42
20年会员
UID 59307
状态 离线
我也是初学,还要向各位学习。
13 发表于 2008-02-03 04:00 ·  中国 福建 福州 电信
中级用户
★★
积分 458
发帖 211
注册 2006-07-26 19:42
20年会员
UID 59307
状态 离线
更好些了,应该没有限制了。

@echo off
:loop
if "%1"=="" (goto :eof) else (
ren "%~1" "%~n1.rar"
shift
goto :loop
)


[ Last edited by wxcute on 2008-2-3 at 06:01 AM ]
论坛跳转: