Windows批处理脚本解压缩文件

时间:2014-03-24 19:07:39

标签: batch-file

我正在尝试创建一个批处理文件,该文件从sftp站点获取该特定日期(v_date)的压缩文件夹,然后解压缩它们。 zip文件包含五个文本文件。我编写了批处理脚本,成功从远程站点获取zip文件并将其副本保存在本地驱动器上。我需要将解压缩部分合并到我的脚本中。

SET v_date=%1
if [%v_date%] == [] SET v_date=%date:~10,4%%date:~4,2%%date:~7,2%
echo option batch continue>FTP_File_Get.txt
echo option confirm off>>FTP_File_Get.txt
echo open Target>>FTP_File_Get.txt
echo lcd "M:\Development\Data History\File" >> FTP_File_Get.txt
echo cd /Export/File >> FTP_File_Get.txt
echo get /Export/File/Filename_%v_date%.zip "M:\Development\DataHistory\Filename_%v_date%.zip">>FTP_File_Get.txt
echo exit>>FTP_File_Get.txt
M:\temp\apps\WinSCP\winscp.com/script="M:\Development\SFTPBatchFiles\FTP_File_Get.txt"
del FTP_File_Get.txt

这是我给UNZIP的代码:

SET v_date=%1
if [%v_date%] == [] SET v_date=%date:~10,4%%date:~4,2%%date:~7,2%
cd "M:\Development\Data History\"
::SET v_file="M:\Development\Data History\Filename_%v_date%.zip"
::unzip -o %v_file%
"C:\Program Files\7-Zip\7z.exe" e "Filename_%v_date%.zip"

我需要将提取的文件(6个文件)移动到各自的文件夹中,非常感谢任何帮助

2 个答案:

答案 0 :(得分:0)

要解压缩文件,您可以使用此命令行:

"C:\Program Files\7-Zip\7z.exe" e "filename.zip"

答案 1 :(得分:0)

@echo off
set "source=%userprofile%\Desktop\basanta\Automation\a"
set "target=%userprofile%\Desktop\basanta\Automation\b"
FOR %%A IN ("%source%\*.gz") DO (
     "%programfiles%\7-zip\7z.exe" x "%%~A" -o"%target%\%%~pA"
     del "%%~A" /Y
)

通过将上面的代码保存到.bat文件扩展名中

记住%userprofile%用于目录,%programfiles%表示在Windows中设置为变量的程序文件

希望有帮助