我正在创建一个脚本,将P:\
上的文件夹及其子文件夹中的某些类型的文件移动到创建的文件夹P:\Move or delete
,这样用户可以在删除它们之前查看所有文件。< / p>
即使他们的P:\
上没有任何指定的文件类型,也需要工作,因为大约有110人都拥有自己的P:\
。
我需要移动的文件类型有:mkv
,bmp
,img
,jpg
,ps
,spiff
,{{ 1}},dib
,jfif
,pcx
,psd
,tif
,eps
,jpe
,{{1} },png
,raw
,tiff
,gif
,jpeg
,aif
,aiff
,asf
, asx
,au
,avi
,flac
,m3u
,mid
,midi
,mov
,{{ 1}},mp1
,mp2
,mp3
,mp4
,mpa
,mpe
,mpeg
,{{1} },mpeg2
,mpeg3
,mpg
,ogg
,qt
,qtw
,ram
,rm
, rmi
,mvb
,snd
,swf
,vob
,wav
,wax
。
这是我到目前为止所拥有的:
wma
下一步是什么?
答案 0 :(得分:1)
您需要traversing the folder tree的代码并进行检查以验证文件是否符合您的条件。后者可能最好用字典完成:
Set extensions = CreateObject("Scripting.Dictionary")
extensions.CompareMode = vbTextCompare 'case-insensitive
extensions.Add "mkv", True
extensions.Add "bmp", True
extensions.Add "img", True
...
这样你只需查找一个扩展名并移动文件就可以了:
For Each f In fldr.Files
If extensions.Exists(fso.GetExtensionName(f)) Then
f.Move "P:\Move or delete\" '<-- note the trailing backslash!
End If
Next
由于您的目标文件夹与您正在搜索文件的驱动器位于同一驱动器上,因此您需要确保该文件夹已从遍历中排除。