2009-10-19 60 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

相关问题