如题;
由于常在网上copy。粘贴,每次保存时时还要右键重名一下文件,烦了
这类文件都是些文本文件,如
.txt
.htm
.html
1.现在让注册表给右键添加个这个功能,不知键值在哪。。。?
2.对于htm文件会难度较大,因为不是ascii码字符,源文件还有许多<>/\类字符,不知用sed。。。怎么处理?
为方便大家解答,我假定这些文件行首都为合法字符,
(参考5楼hat的代码)答案如下:(可过滤非法字符,可以根据自己需要对代码修改)
假定你的bat1环境变量值为C:\mybat\myrename.bat(自己配)
http://www.cn-dos.net/forum/viewthread.php?tid=40212
感谢!加分!
[ Last edited by plp626 on 2008-5-12 at 10:31 AM ]
由于常在网上copy。粘贴,每次保存时时还要右键重名一下文件,烦了
这类文件都是些文本文件,如
.txt
.htm
.html
1.现在让注册表给右键添加个这个功能,不知键值在哪。。。?
2.对于htm文件会难度较大,因为不是ascii码字符,源文件还有许多<>/\类字符,不知用sed。。。怎么处理?
为方便大家解答,我假定这些文件行首都为合法字符,
(参考5楼hat的代码)答案如下:(可过滤非法字符,可以根据自己需要对代码修改)
假定你的bat1环境变量值为C:\mybat\myrename.bat(自己配)
@echo off
<%0 more +5>C:\mybat\myren.bat
reg add HKEY_CLASSES_ROOT\*\shell\MyRename\command /ve /t REG_SZ /d "cmd.exe /c call %bat1% %%1" /f>nul
exit
@echo off
for %%a in (%1)do call:renm "%%~dpna" %%~xa
:renm
set/p t=<"%~1%2"
set t=%t:.=%
set t=%t:/=%
set t=%t:\=%
set t=%t:?=%
set t=%t::=%
set t=%t:;=%
set t=%t:^*=%
set "t=%t:^<=%"
set "t=%t:^>=%"
set "t=%t:^|=%"
::超多同名文件可以循环重命名,但代码长了
ren "%~1%2" "%t%%2"||ren "%~1%2" "%t%_1%2"||ren "%~1%2" "%t%_2%2"||(echo err&pause)
exithttp://www.cn-dos.net/forum/viewthread.php?tid=40212
感谢!加分!
[ Last edited by plp626 on 2008-5-12 at 10:31 AM ]
