Batch file 解压缩zip和rar文件

Batch file 解压缩zip和rar文件,batch-file,Batch File,以下代码(改编自)解压保存在文件夹“Zipped”中名为“batchX.zip”的文件 @echo off setlocal cd /d %~dp0 Call :UnZipFile "D:\Unzipped\" "D:\Zipped\batchX.zip" exit /b :UnZipFile <ExtractTo> <newzipfile> set vbs="%temp%\_.vbs" if exist %vbs% del /f /q %vbs% >%vbs%

以下代码(改编自)解压保存在文件夹“Zipped”中名为“batchX.zip”的文件

@echo off
setlocal
cd /d %~dp0
Call :UnZipFile "D:\Unzipped\" "D:\Zipped\batchX.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%
@echo关闭
setlocal
cd/d%~dp0
调用:解压文件“D:\Unzipped\”D:\Zipped\batchX.zip
退出/b
:UnZipFile
设置vbs=“%temp%\\.vbs”
如果存在%vbs%del/f/q%vbs%
>%vbs%echo Set fso=CreateObject(“Scripting.FileSystemObject”)
>>%vbs%echo如果不是fso.FolderExists(%1),则
>>%vbs%echo fso.CreateFolder(%1)
>>%vbs%echo结束,如果
>>%vbs%echo set objShell=CreateObject(“Shell.Application”)
>>%vbs%echo set FilesInZip=objShell.NameSpace(%2)。项
>>%vbs%echo objShell.NameSpace(%1).CopyHere(FilesInZip)
>>%vbs%echo Set fso=无
>>%vbs%echo Set objShell=无
cscript//nologo%vbs%
如果存在%vbs%del/f/q%vbs%
但是,必须在批处理文件(batchX.zip)中提到文件名,才能解压缩zip文件

我们是否可以修改此批处理代码,以便不需要提及名称,并且可以解压缩放置的任何zip文件

另外,我们可以通过批处理代码解压.rar文件吗?

解压任何文件 我们是否可以修改此批处理代码,以便不需要提及名称,并且可以解压缩放置的任何zip文件

批处理文件可以利用,就像其他脚本语言一样。批处理文件语法为
%1

Call :UnZipFile "D:\Unzipped\" %1
然后使用以下参数调用批处理文件:

myscript.bat zipped-file.zip
展开文件 另外,我们可以通过批处理代码解压.rar文件吗

如果您有适当的二进制文件,则为“是”。您可以下载
rar.exe
(的一部分)并从批处理文件中使用它(有关详细信息,请参阅),例如


谢谢,下次请直接添加问题的链接。这次我帮你做了。检查一下:谢谢。我不是你这样的专家。你能修改上面的代码吗?什么代码?如果您希望我将解决方案应用于您问题中的代码,请注意,我们在这里不这样做。如果这个问题包含了解决方案,那就显得多余了。
rar e %1