Board logo

标题: 批处理自动修改QQ传送文件的"重命名"扩展名? [打印本页]

作者: semiuel     时间: 2010-1-8 10:46    标题: 批处理自动修改QQ传送文件的"重命名"扩展名?
[求助]批处理如何自动修改QQ传送文件的".重命名"扩展名?

很多通过QQ传送过来的文件都会被QQ自动加上".重命名"的扩展名.
能不能写一个批处理,然后把这个批处理放到系统目录,在注册表里添加".重命名"这个扩展名的打开方式为这个批处理.
实现在"我的电脑"里双击以".重命名"结尾的文件就自动去掉这个扩展名.

比方在某个目录内有一个文件为"111.RAR.重命名",要求双击这个文件自动把文件名改为"111.RAR"

相信这个问题是每个使用QQ的人都碰到过的,请求大大们给出一个解决方法.

作者: abxialiang     时间: 2010-1-8 15:30
你的想法很好,我弄了一下,可以实现,批处理代码为

ren "%~1" "%~n1"

就是上面这一句,保存为 a.bat ,然后双击那个扩展名为 “重命名”的文件,选择打开程序,选择 a.bat ,而且选定 “始终用这种方式”。这样就可以用了,不行的话你再发贴,反正我在xp 下可以使用了

Last edited by abxialiang on 2010-1-8 at 15:32 ]

作者: semiuel     时间: 2010-1-8 15:53
确实可行,楼上能解释一下这两个变量的意思吗?

作者: clamber     时间: 2010-1-8 17:25
把下面这段代码保存为BAT文件,执行一次就OK了,以后直接双击".重命名"就会直接自动改名打开。
不好意思,之前忽略了一个问题,导致如果文件名带有空格就会失效,现改正过来了,如果之前用过这个批处理的,请删除C:\windows\opqqfl.cmd文件,再重新下载运行一次就好了。

@echo off
if not exist %windir%\opqqfl.cmd copy "%~0" %windir%\opqqfl.cmd
assoc .重命名>nul 2>nul||assoc .重命名=QQ接收文件&&ftype QQ接收文件=%windir%\opqqfl.cmd "%%1"
ren "%~nx1" "%~n1"&&start "" "%~n1%"
exit


Last edited by clamber on 2010-1-9 at 14:17 ]

作者: vsbat     时间: 2010-1-8 18:05
LS
高手 绝对的!!

作者: dosxwj     时间: 2010-1-9 09:47
Originally posted by clamber at 2010-1-8 17:25:
把下面这段代码保存为BAT文件,执行一次就OK了,以后直接双击".重命名"就会直接自动改名打开。

@echo off
if not exist %windir%\opqqfl.cmd copy ...



<img src="images/smilies/face-grin.png" align="absmiddle" border="0">高招,学习了

作者: semiuel     时间: 2010-1-9 12:27
白天的时候试了一下,非常好用.
但晚上回到家试了一下,发现当"路径+文件名"中带空格时会出错
"%~nx1" "%~n1"只会获取"路径+文件名"中第一个空格前的那部分字.

Last edited by semiuel on 2010-1-9 at 19:22 ]

作者: 740011611     时间: 2010-1-15 20:30
把文件保存在一个文件夹qq里,用@for /f %%i in ('dir /b') do ren "%%~nxi " "%%~ni.rar" 不知道行不?

作者: clamber     时间: 2010-1-15 22:08
已经改正了,掉写了一对引号,重新下载4楼的代码,删除文件%windir%\opqqfl.cmd,然后执行命令:assoc .重命名=
然后运行新下载的代码就行了,不好意思。

Last edited by clamber on 2010-1-15 at 22:10 ]