我正在尝试创建一个批处理文件,该文件从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个文件)移动到各自的文件夹中,非常感谢任何帮助
答案 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中设置为变量的程序文件
希望有帮助