DOS批处理中对含有特殊字符的文件名的处理方法
从一些网站下载的文件,文件名带有广告,典型的就是网站的名称和域名,搞得文件名很长。在一些场景下,广告看得见,真正的文件名却被...了。在以前,我是遇到就手工去掉广告,但一是麻烦,二是效率低。反正经常下载的就那么几个网站,需要一款小工具来自动化处理。 三下五除二,写出了脚本: @Echo Off for %%f in (*.*) do call :rn %%f goto :eof :rn set fn=%1 set fn=%fn:[网站名称www.domain.com]=% set fn=%fn:.网站名称.www.domain.com=% ren %1 %fn% goto :eof 它工作得很好,直到有一天遇到了问题,报错信息: 系统找不到指定的文件。 原因是遇到了一个文件名带有
最终的脚本: @Echo Off for %%f in (*.*) do call :rn "%%f" goto :eof :rn set fn=%1 set fn0=%fn:^^=^% set fn=%fn:^^=^% set fn=%fn:[网站名称www.domain.com]=% set fn=%fn:.网站名称.www.domain.com=% ren %fn0% %fn% goto :eof 世界又完美了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |