【问题标题】:7zip current date with source folder on other path dir7zip 当前日期与其他路径目录上的源文件夹
【发布时间】:2017-04-18 01:43:56
【问题描述】:

我正在尝试压缩仅使用 7z 修改的最新文件的文件,我已经查看了这个 https://superuser.com/questions/206817/7-zip-cmd-add-current-date-to-archive-and-include-only-the-last-modified-folder

还有这个

Use 7zip to include files with *current date* only

但它们不在我遇到问题的不同目录中,目前我的命令代码是这样的

@ECHO ON

SET SourceDir=H:\spiral\kmart\inbox
SET DestDir= C:\TCD


CD \TCD
7z.exe a -tzip C:\TCD\KMartInboxXML.zip-i!^C:\TCD\%DATE:~4,2%-%DATE:~7,2%-%DATE:~10,4%.xml "H:\spiral\kmart\inbox\*"


SET DestDir= C:\TCD
pause

EXIT 

我得到了这个错误(见图)

error1

我知道我使用了错误的目录,因为错误的命令,实际上我也尝试过使用 forfiles 的不同命令行,我迷路了。非常感谢任何帮助。

编辑:

缺少解释。

【问题讨论】:

  • 这似乎不是批处理文件问题,尽管我会更改您发布的每一行代码。但更多的是如何使用 7z 命令行。你想用 -i 开关做什么?为什么不在它前面放一个空格?
  • @Compo 您好,感谢您的回复,对不起,我对批处理文件完全陌生。我试图按照链接 xD 上的命令行进行操作。不过我自己已经弄明白了。

标签: batch-file 7zip


【解决方案1】:

现在您已经找到了 7z.exe 命令的修复程序,请将脚本的其余部分更改为:

@ECHO OFF

SET "SourceDir=H:\spiral\kmart\inbox"
SET "ZipName=files_kmartinbox.zip"
SET "DestDir=C:\TCD"
SET "now=%date:~12,2%%date:~7,2%%date:~4,2%"

CD /D "%DestDir%"
7z.exe a "%ZipName%" -r "%SourceDir%\*%now%*" 

另请注意,如果 7z.exe 不在 %PATH% 或 %DestDir% 中,您还必须提供它的完整路径或相对路径。

【讨论】:

    【解决方案2】:

    从我朋友那里得到帮助,通过更改源文件夹上的 zip 命令来解决这个问题。 因为文件使用日期, 我使用变量来查找它们...格式名称文件是 290427-SHIPMENT-1704180803.xml

    所以我把变量描述成这样

    SET now=%date:~12,2%%date:~7,2%%date:~4,2%
    

    结果:

    170418
    

    所以,任何文件名为 170418(即今天)的文件都将被压缩,将它们放在 zip 源文件夹中的变量中。

    这是完整的代码

    @ECHO ON
    
    
    SET SourceDir=H:\spiral\kmart\inbox
    SET DestDir= C:\TCD
    SET now=%date:~12,2%%date:~7,2%%date:~4,2%
    
    
    C:
    CD \TCD
    7z.exe a files_kmartinbox.zip -r "H:\spiral\kmart\inbox\*%now%*" 
    
    
    SET DestDir= C:\TCD
    

    我希望这对有类似问题的人有所帮助。干杯。

    【讨论】:

      猜你喜欢
      • 2014-01-11
      • 2012-06-13
      • 1970-01-01
      • 1970-01-01
      • 2019-02-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-25
      • 1970-01-01
      相关资源
      最近更新 更多