中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 22:14
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 一个按照文件扩展名整理文件的VBS
可打印版本  5,194 / 22
第1楼 jmz573515 发表于 2006-12-15 03:05
银牌会员 发帖 464 积分 1,212
一个按照文件扩展名整理文件的VBS
on error resume next
Set WshShell = WScript.CreateObject("WScript.Shell")
set fso=createobject("scripting.filesystemobject")
set folder=fso.getfolder(WshShell.CurrentDirectory)
set files=folder.files ' 当前目录的所有文件集合
for each file in files
if fso.folderexists(fso.GetExtensionName(file) & "文件") then
fso.movefile file, fso.GetExtensionName(file) & "文件\"
else
fso.createfolder (fso.GetExtensionName(file) & "文件")
fso.movefile file, fso.GetExtensionName(file) & "文件\"
end if
next
msgbox "已经将所所有文件按类型分类。",48+4096,"操作成功"

[ Last edited by jmz573515 on 2006-12-15 at 08:17 AM ]
第2楼 electronixtar 发表于 2006-12-15 04:16
铂金会员 发帖 2,672 积分 7,493
不错~
第3楼 lxmxn 发表于 2006-12-15 04:40
版主 发帖 4,938 积分 11,386

  学习了~
第4楼 Primalchaos 发表于 2006-12-15 05:06
初级用户 发帖 19 积分 41
不知bat做出来怎样。大家试试:

第5楼 namejm 发表于 2006-12-15 05:39
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  以下代码能实现和顶楼的vbs代码同样的功能。有所区别的是,不会移动自身:

  能处理子目录的代码请点 这里 查看。

[ Last edited by namejm on 2006-12-16 at 10:57 AM ]
第6楼 ccwan 发表于 2006-12-15 05:47
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
版主这个好!
它会保留自身,不进入.bat文件夹。
第7楼 redtek 发表于 2006-12-15 06:12
金牌会员 发帖 1,147 积分 2,902
欣赏~~
第8楼 lxmxn 发表于 2006-12-15 07:19
版主 发帖 4,938 积分 11,386

  顶一个先。
第9楼 jmz573515 发表于 2006-12-15 21:18
银牌会员 发帖 464 积分 1,212
经过改进------以下是可以保留自身的VBS。
****以下是可以保留自身的VBS。
on error resume next
Set WshShell = WScript.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
if fso.folderexists(fso.GetExtensionName(file) & "文件") then
fso.movefile file, fso.GetExtensionName(file) & "文件\"
else
fso.createfolder (fso.GetExtensionName(file) & "文件")
fso.movefile file, fso.GetExtensionName(file) & "文件\"
end if
else
end if
next
msgbox "已经将所所有文件按类型分类。",48+4096,"操作成功"
第10楼 ccwan 发表于 2006-12-15 22:07
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
好啊。现在受限,回头给你加分。
第11楼 ccwan 发表于 2006-12-16 06:29
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
我说到做到^_^ 灌水~~
第12楼 voiL 发表于 2006-12-16 08:45
中级用户 发帖 189 积分 384
这个不错,不知兄们能否做个可以根据MP3位速来归类的VBS呢...
第13楼 vkill 发表于 2006-12-16 09:40
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
做记号
第14楼 jmz573515 发表于 2006-12-17 00:10
银牌会员 发帖 464 积分 1,212
我也来凑个热闹
‘按类型整理文件VBS版(包含子目录),整理后原文件还在,详细请看注释。

Const WINDOW_HANDLE = 0
Const OPTIONS = &H10&
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder _
(WINDOW_HANDLE, "请选择你要整理的文件夹:", OPTIONS, ".")
If objFolder Is Nothing Then
Wscript.Quit
End If
Set objFolderItem = objFolder.Self
objPath = objFolderItem.Path
search(objpath)
sub search(folder)
set fso=createobject("scripting.filesystemobject")
on error resume next
set folder=fso.getfolder(folder)
set files=folder.files
for each file in files
if file.name<>wscript.scriptname then
if fso.folderexists(fso.GetExtensionName(file) & "文件") then
fso.copyfile file, fso.GetExtensionName(file) & "文件\" '为了安全起见此处我用的复制(copyfile)没有剪切(movefile),如果想移动文件可以自行更改。
else
fso.createfolder (fso.GetExtensionName(file) & "文件")
fso.copyfile file, fso.GetExtensionName(file) & "文件\" '为了安全起见此处我用的复制(copyfile)没有剪切(movefile),如果想移动文件可以自行更改。
end if
else
end if
next
set subfolders=folder.subfolders
for each subfolder in subfolders
search(subfolder)
next
end sub
msgbox "已经将" & "【" & objpath & "】下所有文件按类型分类。",48+4096,"操作成功"

[ Last edited by jmz573515 on 2006-12-16 at 11:13 AM ]
第15楼 ccwan 发表于 2006-12-17 00:22
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
呵呵,两位原来在比擂啊。
jmz573515兄,提个小意见,窗口停顿时间太短,来不及操作。
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023