我有一个定期将日志文件和屏幕截图写入文件夹的进程
在
之间
每周 30-50 个文件。文件夹结构为..\Year\Month\filename.ext
,不可更改。
我想创建一个快捷方式来粘贴到我的收藏夹中,以便我可以快速访问该文件夹,但我需要一个用于 YEAR
和 MONTH
的变量。这有环境变量吗?
关于如何创建一个最好在没有脚本或计划作业的情况下自动更新的好主意?
最佳答案
%DATE%
环境变量保存当前日期。您可能想用 %DATE:~6,4%
解析日期以获取年份。
但是这个方法不会很扎实。 %DATE%
使用 “短日期格式” 的 Windows 设置返回当前日期。问题是短日期格式设置是完全和无休止的可定制的。一位用户可以将其系统配置为将短日期显示为 29/06/2012
;而另一个用户(即使在同一系统中)可能会选择 Fri062912
。对于 BAT 程序员来说,这完全是一场噩梦。
一种可能的解决方案是改用WMIC。 WMIC 是 WMI 的 WMI 命令行界面。 WMI Windows Management Instrumentation 是 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%"
关于年月的 Windows 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11181847/