用活Windows 10自带的压缩/解压缩功能
2021-08-09俞木发
俞木发
软件解压/压缩不求人
对于新装系统的电脑,如果下载或准备的软件在Z IP压缩包中,我们可以直接在资源管理器中双击压缩包复制其中的文件,若需要运行其中的程序,则需要全部解压缩。在ZIP格式的压缩文件上点击右键,选择“全部提取”,接着在弹出的“提取压缩(zipped)文件夹”窗口中,按提示将文件提取到指定的文件夹下使用(图1)。
如果需要压缩文件,则在需要压缩的文件或文件夹上点击右键,并依次选择“发送到→压缩(zipped)文件夹”,这样即可把选中的文件或文件夹压缩成同名的ZIP文件了(图2)。
定期压缩备份文件
通过图形化界面在Windows 10中可以解压/压缩文件,不过图形化界面无法实现自动操作。如果需要实现文件(夹)自动压缩,那么可以利用Windows 10自带的TAR命令+任务计划程序来实现。比如,需要每周五下班前将“D:\1.doc”、“D:\2.doc”压缩并备份到“D:\bf.zip”加以保存。
首先启动记事本程序并新建文档,输入下列的代码后保存为“b f.bat”,放置在“D:\”备用。
tar.exe -c -f bf.zip 1.doc 2.doc
代码解释:参数“-c”表示创建压缩文件,“-f”用于引出压缩文件的名称,后续参数是需要压缩的文件名(每个文件使用半角的空格隔开)。
接着启动任务计划程序,新建一个名为“备份文件”的任务,执行的时间是每周五的17:00,运行的命令是“D:\bf.bat”,“起始于”(可选)输入“D:\”(图3)。
这样到了每周五指定的时间,上述的任务计划就会自动将文件压缩并备份到“D:\bf.zip”。每次备份时默认会自动替换原来压缩包中的同名文件,可以始终保证备份的都是最新的文件(图4)。如果需要备份其他的文件,那么只要更改“D:\bf.bat”中相应的代码即可。
高效完成文件的批量解压/压缩
上述介绍图形化界面和TAR命令行的压缩和解压,虽然使用起来很方便,但是在需要批量解压多个文件时操作起来就比较麻烦了。比如笔者从某网盘下载到的学习资料,每一个章节就是一个压缩文件,总文件数多达数百个,现在需要将其解压到一个文件夹中。如果使用图形化界面需要一个接一个地打开再解压(手动选择如此之多的文件也不方便),使用TAR命令行则需要书写数百行的命令。对于类似的批量操作,借助Windows10的PowerShell命令行则可以更高效地完成。
假设上述资料的压缩包保存在“D:\ziliao”,现在需要解压到“D:\my”文件夹中。首先到“ht tps://share.weiyun.c om/TTxYfecg”下载所需的代码文件(熟悉代码的朋友也可以自行撰写),接着使用记事本程序打开代码并全选复制备用。然后以管理员身份启动PowerShell,将剪贴板中的代码粘贴到PowerShell窗口,回车后就可以完成所有压缩包的解压操作了,而且解压速度非常快(图5)。
代码解释:
在上述的代码中可以使用通配符“*.zip”来指代所有的ZIP压缩文件,然后通过“foreach”遍历所有的压缩文件,最后再调用Windows内置的解压命令来解压文件。如果大家需要解压其他的压缩文件,只要将代码中的“D:\ ziliao”和“D:\my”更换为指定的文件夹即可。
此外,PowerShell还支持很多参数,甚至可以将压缩命令和PowerShell的其他命令结合起来使用。比如笔者是2021.6.18接手某同事的工作,现在需要将“D:\Document”下该日期(含6.18)之前创建的全部文件压缩并备份在“D:\1.zip”中。这样如果笔者更改这些文件,需要恢复时就可以从压缩包中提取源文件。不过因为“D:\document”下包含很多子文件夹和文件,如果使用图形化界面方法压缩,即使按照创建日期排序,子文件夹下6.18之前创建的文件也无法显示出来,此外,因为筛选的文件很多,手动选择也容易遗漏。
现在使用PowerShell命令行則可以很方便地实现。同上,在PowerShell窗口中输入“Get-ChildItem -Path D:\document\-Force -Recurse -ErrorAction:SilentlyContinue | Where-Object -FilterScript {($_.CreationTime -lt "2021-06-18")-and ($_.PsISContainer -ne $True)} | C ompress-Archive-DestinationPath d:\1.zip”命令,回车后即可完成这些文件的压缩备份了(图6)。