【问题标题】:Extracting / unzipping files to folders with date / time stamp with 7zip 7z使用 7zip 7z 提取/解压缩文件到带有日期/时间戳的文件夹
【发布时间】:2014-12-13 19:03:32
【问题描述】:

我在批处理文件中使用 7zip 命令行将 zip 文件提取到与 zip 文件同名的文件夹并将文件夹输出到目标目录:我尝试了一些变体但没有成功,包括

7za x "%directory_destination%*.zip" -o%directory_destination%\%date%*"

7za x "%directory_destination%\*.zip" -o%directory_destination%\*"

我无法在提取的 zip 文件的文件夹名称中包含当前的 %date% 和 %time%。

例如,应将名为 abc.zip 的 zip 文件的内容提取到名为 abc_18.10.14_7.34 等的文件夹中。

【问题讨论】:

  • %date% 不在您的代码中,所以难怪它不起作用,请提供您当前工作的命令行。
  • 嗨 toby 我尝试了一些变体但没有成功,包括 7za x "%directory_destination%*.zip" -o%directory_destination%\%date%*" 我只是不确定如何格式化日期和时间与文件夹名称。
  • 这个 stackoverflow 答案可能对stackoverflow.com/a/865568/6244有帮助
  • 嗨托比对不起这没有帮助!任何进一步的指导将不胜感激:-)
  • 您好 user3785396 您需要提供更多信息

标签: date batch-file time 7zip


【解决方案1】:

在一些示例文件上进行测试:

@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"

cd /d "c:\folder with zip files\"
set "directory_destination=c:\target\folder"
for /f "delims=" %%a in ('dir *.zip /b /a-d ') do (
   md "%directory_destination%\%%~na_%dd%.%mm%.%yyyy%_%hh%.%min%%%~xa" 2>nul
   7za x "%%a" -o"%directory_destination%\%%~na_%dd%.%mm%.%yyyy%_%hh%.%min%%%~xa"
)
pause

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多