Board logo

标题: [求助]两种更名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 ]