年月的 Windows 环境变量

标签 windows batch-file environment-variables shortcut

我有一个定期将日志文件和屏幕截图写入文件夹的进程 在
之间 每周 30-50 个文件。文件夹结构为..\Year\Month\filename.ext,不可更改。

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

关于如何创建一个最好在没有脚本或计划作业的情况下自动更新的好主意?

最佳答案

%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/

相关文章:

python - 在 python 中以二进制形式访问系统输入

c++ - 正在创建重复的 USB 虚拟串行端口 - 这可能是什么原因造成的?

java - 如何从批处理脚本执行Java代码?

java - java.awt.Desktop 可以使用管理员权限打开文件吗?

windows - NSIS 无法运行驱动程序安装程序批处理文件

c# - 调用 `Environment.GetEnvironmentVariable`影响后续调用

python - 在 mac (Big Sur) 上导入模块的问题,以及 sys.executable 和包的位置不匹配?

windows - 创建双 Mac/Win 自动运行 CD

windows - 有关 COM 错误代码的信息的最佳来源是什么?

python - python的命令行界面