Date 需要使用前导0填写数字月份和日期的帮助

Date 需要使用前导0填写数字月份和日期的帮助,date,vbscript,batch-file,Date,Vbscript,Batch File,我在批处理文件中工作,如果小于10,则需要用前导0填充单个数字。我有环境变量的值。他们是月和日,我需要垫匹配的文件结构,我的工作。我使用vbscript返回一个日期,返回格式如下:7/16/2009。需要它看起来像07/16/2009,最重要的是需要每个项目在单独的电动汽车 VBscript: WScript.Echo DateAdd("d", Date, -36) 批次: for /F "tokens=1-3 delims=/" %%x in ('cscript //nologo get36

我在批处理文件中工作,如果小于10,则需要用前导0填充单个数字。我有环境变量的值。他们是月和日,我需要垫匹配的文件结构,我的工作。我使用vbscript返回一个日期,返回格式如下:7/16/2009。需要它看起来像07/16/2009,最重要的是需要每个项目在单独的电动汽车

VBscript:

WScript.Echo DateAdd("d", Date, -36)
批次:

for /F "tokens=1-3 delims=/" %%x in ('cscript //nologo get36thday.vbs') do (
   SET YYYY=%%z
   SET MM=%%x
   SET DD=%%y)
VBScript:

dteOldDate = Now()
strNewDate = Right("00" & Month(dteOldDate), 2) & "/" & Right("00" & Day(dteOldDate), 2) & "/" & Year(dteOldDate)
VBScript:

dteOldDate = Now()
strNewDate = Right("00" & Month(dteOldDate), 2) & "/" & Right("00" & Day(dteOldDate), 2) & "/" & Year(dteOldDate)

对于批处理脚本,我不知道确切的语法,但是批处理脚本可以从字符串的右侧返回指定数量的字符

因此,在0字符后追加月份,并取最右边的2位数字。它可能看起来与此类似:

SET MM=0%%x
SET MM=%MM:~-2%
1成为01 5变为05
对于批处理脚本,我不知道确切的语法,但是批处理脚本可以从字符串的右侧返回指定数量的字符

因此,在0字符后追加月份,并取最右边的2位数字。它可能看起来与此类似:

SET MM=0%%x
SET MM=%MM:~-2%
1成为01 5变为05
这里是我填充字符串的方法

在本例中,MYVAR将填充为五个零

SET MYVAR=00000%MYVAR%
SET MYVAR=%MYVAR:~-5%

这是我填充字符串的方法

在本例中,MYVAR将填充为五个零

SET MYVAR=00000%MYVAR%
SET MYVAR=%MYVAR:~-5%

a尽管其他答案在您不知道要在前面加零的字符串长度时很有用,但对于日期和时间,简单的字符串替换就可以了

set hour=!TIME:~0,2!
set hour=!hour: =0!

简言之,如果有空格,它将被0替换。

尽管如果您不知道要在前面加零的字符串长度,其他答案很有用,但对于日期和时间,简单的字符串替换就可以了

set hour=!TIME:~0,2!
set hour=!hour: =0!

简而言之,如果有空格,它将被0替换。

+1。好把戏。我会使用一个子程序和一个if语句。但这要优雅得多。好把戏。我会使用一个子程序和一个if语句。但这要优雅得多。您还需要回显日期:WScript.echo strNewDate,因为批处理文件从脚本的输出读取它。您还需要回显日期:WScript.echo strNewDate,因为批处理文件从脚本的输出读取它。