竟然还有比TC更强大的重命名软件?还真有,它叫DO。 |
您所在的位置:网站首页 › 手机外接键鼠吃鸡 › 竟然还有比TC更强大的重命名软件?还真有,它叫DO。 |
标题中,TC是非常老牌的文件管理软件 Total Commander 的简称,我用它超过十来年了。它的更新实在缓慢,所以使用WIN10之后,安装使用它的次数屈指可数,相反找了很多同类软件尝试。今天找到的《Direct Opus》(简称就是DO)真是堪能与之一战的利器,而且在某些方面真的还胜过,比如重命名。 TC的重命名,功能当然不可谓不强大,花式的绝活让俺用得得心应手。但是美中不足的地方也存在,比如:文件的前两位数字,后面是文字,现在的需求是想在数字和文字之间加一个空格分隔开。TC直接做是不行的,只能先把这些文件名导出到TXT纯文本格式,然后再导入到EXCEL,用公式加空格后,再倒回到TXT,另存为纯文本之后由TC倒入,可见有多麻烦。 但是这个在DO中就完全不是一回事!虽然DO也没有直接做的方式,但是人家支持VB啊!而VB语言的门槛 -- 呵呵,借用张爱玲的名言 -- 那简直就是低到了尘埃里。我只是在它的官网看了一下Example Rename Script 页面,再试着加上 Left 和 Mid 函数 ~~ 嘿,这事就成了!So Easy ~~ Option Explicit Function OnGetNewName ( ByRef GetNewNameData ) Dim item Set item = GetNewNameData.item OnGetNewName = Left(item,2) & " " & Mid(item,3) End Function咦??? 且慢高兴,不就是从短文件名变成了长文件名吗,空格似乎还是没发现啊。
那就换个间隔符,这回变成横线: OnGetNewName = Left(item,2) & "---" & Mid(item,3) 则点击 “ 刷新预览 ” 按钮,它将成为:
横杠出现在了盘符之后,说明那个item是带路径的长文件名。那就用Len函数验证一下: OnGetNewName = Len(item) 果然如此,该文件名带全路径的总长度为48.
到此心里完全有数了,拼接字符串那是任何一门编程语言的基本功啊,小菜一碟: nLast = InstrRev(item,"\") OnGetNewName = Mid(item,1,nLast+2) & Space(1) & Mid(item,nLast+3)
在多次Debug中,发现预览不出内容,但是代码没错。此时请把开头的 Option Explicit去掉即可。即便如此,点解下方的确定,一桶冰水浇下来:
那就再优化一下,变成: nLast = InstrRev(item,"\") OnGetNewName = Mid(item,1,nLast+2) & Space(1) & Mid(item,nLast+3)执行,想要的出来了!
可一执行,还是报错!
正当百思不得其解之际,偶然看见那个移动硬盘:G盘根本已经都没有挂在电脑上了。这要是发生在TC上,那么盘符会自动从驱动器列表中消失,而且当前窗口和文件列表都会自动弹到别的驱动器下,比如C盘根目录。而这个DO却没有此即时变化的能力。甚至,因为俺刚接触DO的缘故,翻遍了菜单、图标和帮助文件,也不晓得它是怎么刷新的。所以,得自己小心。但,不管怎样,还是搞定了。 为了一劳永逸,再把它保存起来: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |