Board logo

标题: 一个可以颠倒文件名的无聊之作(VBS)。 [打印本页]

作者: jmz573515     时间: 2006-12-19 04:34    标题: 一个可以颠倒文件名的无聊之作(VBS)。

'功能:颠倒当前文件夹下的文件名(包括文件夹),扩展名不变,本身的文件名不会被颠倒。
'不保证不会出现问题,谨慎使用!(本机上测试通过)
on error resume next
set wshshell=createobject("wscript.shell")
set fso=createobject("scripting.filesystemobject")
set folder=fso.getfolder(WshShell.CurrentDirectory)
set files=folder.files
for each file in files
if file.name<>wscript.scriptname then
kzm=fso.GetExtensionName(file)
file.name=replace(file.name,"." & fso.GetExtensionName(file),"")
file.name=StrReverse(file.name) & "." & kzm
else
end if
next
set wjj=fso.getfolder(WshShell.CurrentDirectory)
set wjjs=wjj.subfolders
for each fd in wjjs
fd.name=StrReverse(fd.name)
next
msgbox "已经将当前文件夹下所有文件名颠倒。",48+4096,"提示"

[ Last edited by jmz573515 on 2006-12-18 at 03:59 PM ]
作者: redtek     时间: 2006-12-19 04:51
欣赏~~~
真复杂啊~:)
作者: 9527     时间: 2006-12-19 05:15
那我顺便写个P处理版的,倒序当前目录下所有文件的文件名
@echo off&setlocal
for /f "tokens=*" %%a in ('dir /b /a-d *.*') do call :pp "%%a"
pause
goto :eof
:pp
set "a=%~n1"
:loop
if not defined a goto cc
set "a=%a:~0,-1%"&set "b=%b%%a:~-1%"&goto loop
:cc
echo %b%%~x1      
set b=
goto :eof
[ Last edited by 9527 on 2006-12-19 at 05:28 AM ]
作者: ccwan     时间: 2006-12-19 05:30
9527兄,我怎么没成功?原来代码更新了^_^

[ Last edited by ccwan on 2006-12-19 at 05:31 AM ]
作者: electronixtar     时间: 2006-12-19 07:32
vbs里的关键就是
file.name=StrReverse(file.name) & "." & kzm

作者: wudixin96     时间: 2007-4-6 21:55
真是研究的够彻底的。o(∩_∩)o...哈哈。学习了
作者: kich     时间: 2007-4-7 05:01
就是一个 StrReverse() 函数在起作用嘛!
作者: shaokui123     时间: 2008-2-23 23:16
能颠倒指定分区的文件吗?
如何恢复?
作者: slore     时间: 2008-2-23 23:41
回复嘛
再用一次呗~
作者: shaokui123     时间: 2008-2-24 18:13
请高手写一个颠倒指定分区文件的
作者: tireless     时间: 2008-2-24 18:27
猪是的念来过倒
作者: xmi     时间: 2008-2-24 21:52
利害, 我這個新手學著呢. 謝謝
作者: shaokui123     时间: 2008-2-25 22:54
能颠倒指定分区的文件吗?
作者: abcd     时间: 2008-2-25 23:07


  Quote:
Originally posted by shaokui123 at 2008-2-25 10:54 PM:
能颠倒指定分区的文件吗?

当然可以,稍作修改。或者把该文件复制到指定分区即可。

恢复的话,请看9楼回复