Variables 是否指定要保存的列?

Variables 是否指定要保存的列?,variables,logging,time,cmd,set,Variables,Logging,Time,Cmd,Set,我以前看过某人的代码,看到他们编写的代码如下: set Today=%DATE:~0,3% 如果变量(%DATE%)被执行(echo%DATE%),它将显示出它所在日期的前3个字母,这适用于其他命令,如%TIME%,等等。。。但是我想知道是否有可能指定它需要什么而不是第一节,我想要这样做的原因是我正在尝试创建一个记录时间和日期的日志系统,尽管%time%变量包含冒号,不能作为文件夹名称 一些尝试: set Today=%TIME:~0,2 ~4,5% set Toda

我以前看过某人的代码,看到他们编写的代码如下:

    set Today=%DATE:~0,3%
如果变量(%DATE%)被执行(echo%DATE%),它将显示出它所在日期的前3个字母,这适用于其他命令,如%TIME%,等等。。。但是我想知道是否有可能指定它需要什么而不是第一节,我想要这样做的原因是我正在尝试创建一个记录时间和日期的日志系统,尽管%time%变量包含冒号,不能作为文件夹名称

一些尝试:

    set Today=%TIME:~0,2 ~4,5%

    set Today=%TIME:~0,2:4,5%
列表还在继续,为了更详细地说明我想要什么,这只是一种只获取%time%变量的数字的方法,或者使用过滤方法删除冒号的方法,如果可能或者您有建议,请继续告诉我。
感谢阅读。:)

您不能从变量中指定多个区域,但很容易实现您想要的:

set Today=%TIME:~0,2%%TIME:~3,2%
我想你看到了这个模式

请记住,日期和时间在不同的本地计算机上可能会有所不同,因此这在本地系统上可能会很好地工作,但如果您转到其他系统或更改本地设置,则不会这样做


参考:set/?

效果很好!我非常感激,有趣的是,我没有看到我面前的答案,哦,好吧!我发出了命令“set today=%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%%TIME:~9,2%”,这对我想要的非常有效,再次表示感谢: