【问题标题】:windows batch script to unzip a filewindows批处理脚本解压文件
【发布时间】:2020-08-07 16:21:25
【问题描述】:

我正在尝试创建一个批处理文件,该文件从 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

这是我的解压代码:

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 个文件)移动到各自的文件夹中,非常感谢任何帮助

【问题讨论】:

  • 你用哪个程序解压?
  • 我目前使用的是 windows 7 操作系统,我可能想要解压缩的程序是 7-zip 9.20(x64 版)。 7z 应用程序本地安装在以下路径 C:\Program Files\7-Zip

标签: batch-file


【解决方案1】:

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

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

【讨论】:

  • 谢谢你 foxidrive!我能够提取文件。我现在想将提取的文件移动到本地的相应文件夹中。有 6 个文件命名为 File1,File2,File3,File4,...file6 任何帮助表示赞赏!
  • 打开一个新问题 - 它们是免费的。 SO 是针对一个问题和一个解决方案设计的,而不是针对不断变化的问题。
【解决方案2】:
@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中设置为变量的程序文件

希望有所帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    • 2013-12-27
    • 1970-01-01
    • 2016-11-30
    相关资源
    最近更新 更多