创建批处理脚本来解压缩文件而无需额外的 zip 工具 [英] creating batch script to unzip a file without additional zip tools

查看:49
本文介绍了创建批处理脚本来解压缩文件而无需额外的 zip 工具的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试为 windows 7 x64 制作一个 .bat 脚本来创建一个文件夹,将文件解压缩到该文件夹​​中,而无需使用 7zip 或 unzip 等附加插件.一直在搜索,似乎 Windows 没有内置命令可以轻松地在命令中解压缩.我可以在没有附加插件的情况下解压缩/扩展文件吗?

I'm trying to make a .bat script for windows 7 x64 to create a folder, unzip a file into that folder without having to use additional addons like 7zip or unzip. Been searching and it seemed like windows doesn't have builtins to allow unzip easily in command. Can I unzip/expand files without additional addons?

推荐答案

试试这个:

@echo off
setlocal
cd /d %~dp0
Call :UnZipFile "C:Temp" "c:path	oatch.zip"
exit /b

:UnZipFile <ExtractTo> <newzipfile>
set vbs="%temp%\_.vbs"
if exist %vbs% del /f /q %vbs%
>%vbs%  echo Set fso = CreateObject("Scripting.FileSystemObject")
>>%vbs% echo If NOT fso.FolderExists(%1) Then
>>%vbs% echo fso.CreateFolder(%1)
>>%vbs% echo End If
>>%vbs% echo set objShell = CreateObject("Shell.Application")
>>%vbs% echo set FilesInZip=objShell.NameSpace(%2).items
>>%vbs% echo objShell.NameSpace(%1).CopyHere(FilesInZip)
>>%vbs% echo Set fso = Nothing
>>%vbs% echo Set objShell = Nothing
cscript //nologo %vbs%
if exist %vbs% del /f /q %vbs%

修订

让它对每个 zip 文件执行解压缩,为每次使用创建一个文件夹:

To have it perform the unzip on each zip file creating a folder for each use:

@echo off
setlocal
cd /d %~dp0
for %%a in (*.zip) do (
    Call :UnZipFile "C:Temp\%%~na" "c:path	o\%%~nxa"
)
exit /b

如果您不希望它为每个 zip 创建一个文件夹,请更改调用 :UnZipFile "C:Temp\%%~na" "c:path o\%%~nxa"调用 :UnZipFile "C:Temp" "c:path o\%%~nxa"

If you don't want it to create a folder for each zip, change Call :UnZipFile "C:Temp\%%~na" "c:path o\%%~nxa" to Call :UnZipFile "C:Temp" "c:path o\%%~nxa"

这篇关于创建批处理脚本来解压缩文件而无需额外的 zip 工具的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆