标题: [求助]两种更名BAT
[打印本页]
作者: cad55
时间: 2008-1-23 14:17
标题: [求助]两种更名BAT
求两种更名BAT.
1\将任意或无扩展名的文件,拖入其上时,将文件名更改为:原名.rar
2\将任意文件.拖放其上时,将文件名更改为:原名.无扩展名
关键:1\手动拖入.
2\对原文件内容无任何影响.仅更名....
若能..支持..多个文件选择....实现上述效果...就更加完美..........
[
Last edited by cad55 on 2008-1-23 at 02:29 PM ]
作者: HAT
时间: 2008-1-23 15:16
@echo off
ren "%1" "%~n1.rar"
作者: cad55
时间: 2008-1-23 15:24
Quote: |
Originally posted by HAT at 2008-1-23 03:16 PM:
@echo off
ren "%1" "%~n1.rar" |
|
谢谢..但没有任何效果......
还请..研究一下....
作者: huahua0919
时间: 2008-1-23 16:19
ren "%~1" "%~n1.rar"
作者: cad55
时间: 2008-1-23 16:54
Quote: |
Originally posted by huahua0919 at 2008-1-23 04:19 PM:
ren "%~1" "%~n1.rar" |
|
好...
谢谢..
但:
还请一下,,,将属性,只读或归档.的也有效...
作者: huahua0919
时间: 2008-1-23 17:22
我试了下,只读,归档的文件也可以的
你也可以在这样
attrib -r -a "%~1"
ren "%~1" "%~n1.rar"
但是好象没什么必要
作者: cad55
时间: 2008-1-23 20:42
Quote: |
Originally posted by huahua0919 at 2008-1-23 05:22 PM:
我试了下,只读,归档的文件也可以的
你也可以在这样
attrib -r -a "%~1"
ren "%~1" "%~n1.rar" 但是好象没什么必要 |
|
能不能,,支持多个文件同时..拖放....
谢谢......
作者: wxcute
时间: 2008-1-24 01:45
最多能一次拖九个:
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"
且用循环好像不行(我不会)。望高人指点。
作者: slore
时间: 2008-1-24 13:54
shift
作者: wxcute
时间: 2008-1-24 22:10
多谢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 ]
作者: cad55
时间: 2008-1-25 10:14
Quote: |
Originally posted by wxcute at 2008-1-24 10:10 PM:
多谢slore,可以更改超过9个了,
还有个问题就是怎么判断拖动文件的个数?
[code]
: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 ]
作者: wxcute
时间: 2008-1-26 02:17
我也是初学,还要向各位学习。
作者: wxcute
时间: 2008-2-3 04:00
更好些了,应该没有限制了。@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 ]