2012-06-24 42 views
2

我有一个定期将日志文件和屏幕截图写入文件夹的过程,每周创建
30-50个文件。文件夹结构是..\Year\Month\filename.ext,它不能更改。本年度的Windows环境变量

我想创建一个快捷方式以粘贴到我的收藏夹中,以便我可以快速访问此文件夹,但我需要YEARMONTH的变量。有没有一个环境变量呢?

任何关于如何创建自动更新,最好没有脚本或预定作业的明智想法?

+0

见http://stackoverflow.com/questions/864718/how-to-append-a-date-in-batch-files的一些想法。 –

回答

6

%DATE%环境变量保存当前日期。你可能会试图用%DATE:~6,4%解析日期以获得年份。

但是这种方法不会很稳固。 %DATE%使用“短日期格式”的窗口设置返回当前日期。问题是短日期格式设置完全无法自定义。一个用户可以配置其系统以显示短日期为29/06/2012;而另一个用户(即使在同一系统中)也可以选择Fri062912。这对于BAT程序员来说是一个完整的噩梦。

取而代之,一种可能的解决方案是使用WMIC。 WMIC是WMI的WMI命令行界面。 WMI Windows管理规范是http://en.wikipedia.org/wiki/Windows_Management_Instrumentation

WMIC Path Win32_LocalTime Get Day,Hour,Minute,Month,Second,Year /Format:table 

返回日期的便捷方式直接与FOR解析它。

完成解析,并把拼在一起

FOR /F "skip=1 tokens=1-6" %%A IN ('WMIC Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table') DO (
    SET /A MONTH=%%D 
    SET /A YEAR=%%F 
) 

你的快捷方式指向包括上面的代码一个BAT文件,然后打开右边的文件夹浏览器。

start "" "D:\FOLDER\%YEAR%\%MONTH%"