Originally posted by pinghu at 2008-2-5 21:48:
看来各位还未重视我的帖子,我想是因为大家认为难就难在重命名上面,移动文件看起来很容易,等你亲自测试的时候就会发现,当选中若干文件时, ...
@echo off
call :%* 2>nul || goto setup
goto :eof
:Sub1
rem 移动到父目录
set "str=%~nx1"
:loop
if not exist "..\%str%" goto Next
set "str=%~n1_New%~x1"
goto loop
:Next
move "%~nx1" "..\%str%"
goto :eof
:Sub2
rem 脱壳
rem 自己完成
goto :eof
:setup
reg add "hkcr\*\shell\移至父目录\command" /f /t reg_sz /v "" /d "\"%~0\" Sub1 \"%%1\""
reg add "hkcr\Folder\shell\脱壳\command" /f /t reg_sz /v "" /d "\"%~0\" Sub2 \"%%1\""
goto :eof
上面只是个演示脚本,双击后就可自动安装了。
注意setup部分只在文件上面添加"移动至父目录"功能,并未对文件夹做处理,这个可以自己添加.
另外,上面的脚本也没有对同时选中多个文件的同步问题进行处理,可能导致会出现同名覆盖的问题,对于这种情况,可以适当地利用临时文件设置一下标识,使每个实例运行的时候能根据情况决定是否拷贝。例如可以向某个文件中写入当前处理的文件名,记得用覆盖模式,然后延时一段时间,接着读取标志文件,文件名对应得到的就执行移动工作,移动完后更改标志文件,对不上的则继续等待.继续查询标志文件。...
用纯粹的bat来完成真的是没多大意义,如果可能,我建议你还是尝试一下vbs,会简单得多。
另外给你几个链接可能有用:
SendTo+批处理实用小工具--加强版发送到
查找电脑中,所有的bat文件,并复制到当前目录?
批处理如何添加右键菜单?
SendTo+(VBS版)
