用VBScript实现压缩目录中的所有文件(Zip)

代码如下:

On Error Resume Next
Dim objFSO,sourcepath,targetpath,targetfile

Function GetSourceFile(path)
Dim file,folder,sfolder,subfolder,files
If Not objFSO.FolderExists(path) Then
Msgbox "目标文件夹不存在!"
Else
objFSO.CreateFolder targetpath & Right(path,Len(path)-Len(sourcepath))
Set folder=objFSO.GetFolder(path)
Set files=folder.files
For Each file in files
targetfile=targetpath & Right(path,Len(path)-Len(sourcepath)) & "\" & file.name & ".zip"
Set fp=objFSO.OpenTextFile(targetfile,2,True)
fp.Write Chr(80) & Chr(75) & Chr(5) & Chr(6) & String(18,0)
fp.Close
oApp.Namespace(targetfile).CopyHere path & "\" & file.name
WScript.Sleep 1000
Next
Set subfolder=folder.subfolders
For Each sfolder in subfolder
GetSourceFile path & "\" & sfolder.name
Next
End If
End Function

Set objFSO=CreateObject("Scripting.FileSystemObject")
Set oApp=CreateObject("Shell.Application")
sourcepath="C:\Documents and Settings\Administrator\桌面\Watermarks"
targetpath="D:\temp"
GetSourceFile sourcepath
Set objFSO=Nothing
Set oApp=Nothing

使用方法:
直接将上面的代码保存为test.vbs文件,然后修改sourcepath与targetpath注意目标目录必须是新目录,使用的时候最好加上判断。

(0)

相关推荐

  • 用VBScript实现解压缩目录中的所有文件(Zip)

    复制代码 代码如下: On Error Resume Next Dim objFSO,sourcepath,targetpath Function GetZipFile(path) Dim file,folder,sfolder,subfolder,files If Not objFSO.FolderExists(path) Then Msgbox "目标文件夹不存在!" Else objFSO.CreateFolder targetpath & Right(path,Len(

  • 用VBScript实现压缩目录中的所有文件(Zip)

    复制代码 代码如下: On Error Resume Next Dim objFSO,sourcepath,targetpath,targetfile Function GetSourceFile(path) Dim file,folder,sfolder,subfolder,files If Not objFSO.FolderExists(path) Then Msgbox "目标文件夹不存在!" Else objFSO.CreateFolder targetpath & R

  • C#实现Zip压缩目录中所有文件的方法

    本文实例讲述了C#实现Zip压缩目录中所有文件的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.IO; using System.Collections; using System.IO.Compression; using System.Collections.Generic; class FolderZip { private const long BUFFER_SIZE = 20480; static void main(string[

  • python实现在目录中查找指定文件的方法

    本文实例讲述了python实现在目录中查找指定文件的方法.分享给大家供大家参考.具体实现方法如下: 1. 模糊查找 复制代码 代码如下: import os from glob import glob #用到了这个模块 def search_file(pattern, search_path=os.environ['PATH'], pathsep=os.pathsep):     for path in search_path.split(os.pathsep):         for mat

  • Python/ArcPy遍历指定目录中的MDB文件方法

    如下所示: #遍历指定目录中的MDB文件,构造FeatureClass名 >>> target_folder = 'D:\T20161202' ... file_names=('BOUAN','BOULK','BOUNT','BOUPT','CTRLK','CTRPT','HYDAN','HYDLK','HYDNT','HYDPT','PIPAN','PIPLK','PIPNT','PIPPT','RESAN','RESLK','RESNT','RESPT','ROAAN','ROALK

  • Python遍历目录中的所有文件的方法

    os.walk生成器 os.walk(PATH), PATH是个文件夹路径,当然可以用.或者../这样啦. 返回的是个三元元组为元素的列表, 每个元素代表了一个文件夹下的内容.第一个就是当前文件夹下内容. 返回的三元元组代表(该工作文件夹, 该文件夹下的文件夹的列表, 该文件夹下文件的列表). 所以, 获得所有子文件夹, 就是(d代表这三元元组): os.path.join(d[0],d[1]); 获得所有子文件, 就是: os.path.join(d[0],d[2]); 以下例子使用了两套循环

  • Android加载Assets目录中Xml布局文件

    最近由于项目开发使用到了动态布局,因为打包sdk ,sdk 这块activity 需要一些layout 文件 .而做过sdk 开发的小伙伴应该知道,layout 文件是不能打包到jar 中的.当然了aar 除外.由于项目使用的还是jar包,所以怎么解决layout文件是个问题,一开始想到的办法就是把layout 文件发给客户.但是这种方法显然不太合适后来就发现了Android 其实提供了一个方法可以加载xml布局文件,就是使用inflate(XmlPullParser parser, ViewG

  • PHP统计目录中文件以及目录中目录大小的方法

    本文实例讲述了PHP统计目录中文件以及目录中目录大小的方法.分享给大家供大家参考,具体如下: <?php //循环遍历目录中所有的文件,并统计目录和文件的大小 $dirName="phpMyAdmin"; $dir=opendir($dirName); //返回一个资源类型 while($fileName=readdir($dir)){ $file=$dirName."/".$fileName; if($fileName!="." &

  • PHP删除指定目录中的所有目录及文件的方法

    本文实例讲述了PHP删除指定目录中的所有目录及文件的方法.分享给大家供大家参考.具体实现方法如下: <?php /* * * 删除指定目录中的所有目录及文件(或者指定文件) * 可扩展增加一些选项(如是否删除原目录等) * 删除文件敏感操作谨慎使用 * @param $dir 目录路径 * @param array $file_type指定文件类型 */ function delFile($dir,$file_type='') { if(is_dir($dir)){ $files = scand

  • Shell中删除某些文件外所有文件的3个方法

    我的一位同事曾经问过我这样一个问题:在 Linux 下,如何 删除目录中除某些文件之外的所有文件?当时,我告诉他可 以通过模式匹配的方法解决.但其实,除此之外,还有其他 的方法,正所谓"条条大路通罗马".让我们来逐一看看. 假设要删除 ~/Downloads 目录中除 *.iso 和 *.zip 外的 所有文件,那么在 bash 中可以按以下方法处理: 方法1:模式匹配法 复制代码 代码如下: shopt -s extglob # 确认开启 extglob 选项 cd ~/Downlo

随机推荐