2011-07-04 35 views
-1

我想創建一個批量文件,通過用戶輸入來複制文本文件。作爲輸入用戶從日期到日期。該文本文件的名稱是這樣的:error_log_04_06_2011創建一個批量文件,該文件複製指定日期的文本文件

現在比如我想從04/06/2011 07/06/2011到的數據,所以我可以做,通過使用xcopy命令這樣

@ECHO OFF
SET/P F =請從日期輸入(MD-YYYY):
SET/P噸=請輸入到日期(MM-DD-YYYY):
MKDIR d:\ BKP
XCOPY/S/D:%f%/ EXCLUDE:%t%C:\ Emulator \ Log_Data d:\ bkp

這將複製日期文件中的所有文件斯內德。現在我想給「也」日期,所以我可以複製一定時期的文件。

一個方法是我使用刪除命令並刪除複製的額外文件。但刪除命令沒有關於日期的任何切換。所以PLZ的幫助.....

+0

它本身不一定是批處理文件,但你應該檢查AutoIt(http://www.autoitscript.com/site/autoit/)。這很容易學習。 –

回答

0

不幸的是,沒有太多可以幫助在這個區域內建批/ cmd。 dir可以通過修改時間來標記它的輸出,但我猜你希望它只依賴文件名,但它仍然不會給你想要的範圍。

您顯示的文件名不可排序。如果它們以YYYY_MM_DD格式命名,則可以使用sort和for循環找到日期範圍內的文件。

沒有這一點,你最終需要做日期數學來生成你的範圍內的每個日期,將每個日期轉換爲你的文件名格式,並通過它來複制。

Rob Van Der Woude有很好的批量日期函數列表,包括較難日期的數學。這將是一個開始的好地方。 http://www.robvanderwoude.com/battech.php#Time

0

我還沒有嘗試過,但你可以使用xcopy/d和/ L交換機生成的某個日期之後,以避免做數學的文件列表。

從第一次日期xcopy之後,您可以在第二次日期之後的文件列表中驅動for/l循環中的刪除操作。

相關問題