2017-04-18 53 views
0

我想,只有最新的文件中使用的7z,我已经来看看这个 https://superuser.com/questions/206817/7-zip-cmd-add-current-date-to-archive-and-include-only-the-last-modified-folder7zip的当前日期与另一条路径上的源文件夹目录

修改,以Zip文件,这

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 

我得到这个错误(见PICT)

error1

我知道我错了使用DIR因为错误的命令,实际上我已经尝试使用不同的命令行FORFILES还,我很失落。任何帮助非常感谢。

编辑:

缺少解释。

+1

尽管事实上我会更改您发布的每一行代码,但这似乎不是批处理文件问题。但更多的是如何使用7z命令行。你想用什么**'-i' **开关?为什么不在它之前放置一个空间? – Compo

+0

@Compo嗨,感谢您的回应,对不起,我是完整的noob批处理文件..我试图按照命令行就像链接xD。我自己弄明白了。 – anub13

回答

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%你将不得不提供完整或相对路径。

+0

感谢您纠正我的代码。 – anub13

1

从我的朋友那里得到了帮助,通过改变源文件夹中的zip命令找出了它的帮助。 因为文件使用日期, 我使用变量来找到它们...格式的文件名是290427装运-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 

我希望这是帮助人们similliar同样的问题。干杯。

相关问题