2009-10-19 68 views
0

我正在考慮編寫一個程序,將一些新創建的dirs移動到另一個將它們放入帶有日期戳記的文件夾中;按周 - 月 - 年或按月 - 年。我大概可以在1.5小時內在java中編寫/調試/測試它,但我想知道是否有其他人不得不處理這個問題,也許已經使用了批處理腳本,或者其他的東西否則我可以使用。根據這個月創建一個目錄並將目錄移動到它

編輯:事實證明,我沒有足夠好地陳述我的要求。更好的要求:

  • 我需要將當前月份的新創建的文件夾複製到其他地方的當前月份的命名文件夾。這很重要,因爲每天都在創建新的文件夾,如果我總是將它們從源目錄複製到全部到月份加蓋的目錄,我最終會將上個月的文件複製到這個月的文件夾中。

此外,複製後刪除源目錄中的文件也是一個不好的選擇,因爲正在流入文件,所以在刪除時有可能會寫入源目錄中的某個文件。

+1

只要確保你得到它的權利;)http://thedailywtf.com/Articles/Security-Index-out-of-Bounds.aspx – voyager 2009-10-19 02:52:08

+0

@voyager。 =非常清醒。感謝您的鏈接 – 2009-10-19 08:12:20

回答

2

從命令提示:

for /f "tokens=3 delims=/ " %f in ('date /t') do md %f & xcopy source\xyz.* %f 

此解析命令日期/噸

C:\>Date /t 
Mon 19/10/2009 

使用delimters / and space

並且其分解爲

星期一,19, 10,2009

然後你問它來獲得第三令牌(10)我的系統上是一個月

解析命令後MD%F(成爲使目錄10),並利用我們添加另一個&要執行的命令(即xcopy到新目錄)。

又如,使其簡單一點(這裏我打破了日期/噸到它的部分進行打印在屏幕上)

C:\>for /f "tokens=2,3,4 delims=/ " %f in ('date /t') do @echo year = %h, month = %g, day = %f 
year = 2009, month = 10, day = 19 

編輯:爲了反映意見。 這不是理想的解決方案,因爲日期格式很大程度上取決於用戶區域設置首選項。然而它確實說明了這一點,你應該在使用這個確切的代碼之前進行檢查。

+0

歡迎 - 批量爲非常非常強大!實際上是 – 2009-10-19 02:43:02

+0

。這正是我所要求的,結果並不完全是我所需要的=) – mkoryak 2009-10-19 03:01:15

+0

請記住,通過這種方式完成的日期操作很容易破壞。實際上,不是每個人都使用'/'作爲日期格式分隔符。 Y,M和D的順序可能會有所不同,如 – Joey 2009-10-19 05:30:47

相關問題