2017-04-18 33 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同樣的問題。乾杯。

相關問題