批处理-获取今天的日期并以我需要搜索的目录的名称使用

时间:2019-11-18 15:32:11

标签: windows batch-file

我有以下内容,它比较两个目录的内容,并列出其中一个文件夹不存在的位置的列表:

setLocal EnableDelayedExpansion

set "DMZFolder=%WD_DIR%"
set "AMSFolder=D:\Apps\AMS\Files\Orig\UOB\BACKUP"

set count=0
for /f "delims=" %%F in ('dir/b/a-d "%DMZFolder%"') do (
    if not exist "%AMSFolder%\%%F" (
         set /A count+=1
         REM keep file name and put in email later
         set list[!count!]=%%F 
    )
)

现在,我不是要搜索DMZFolder,而是要获取今天的日期,对其进行格式化,然后将其添加到DMZFolder中以创建要搜索的新目录。因此,如果原始目录为

C:\DMZFolder\directory

新目录可能是

C:\DMZFolder\directory\2019-12-05

我这样做是为了获得今天的日期:

SET Today=%Date:~10,4%-%Date:~4,2%-%Date:~7,2%

到目前为止,太好了。如何将Today现在包含的字符串添加到DMZFolder变量中?

2 个答案:

答案 0 :(得分:1)

我宁愿使用wmic:

@echo off
for /f "usebackq tokens=1,2 delims=,=- " %%a in (`wmic os get LocalDateTime /value`) do @if %%i==LocalDateTime (
     set string=%%b
)
set Today=%token10:~0,4%-%token10:~4,2%-%token10:~6,2%
set "DMZFolder=%WD_DIR%\%Today%"

设备上的区域设置不同,因此在所有Windows设备上使用wmic都是相同的。

答案 1 :(得分:0)

我想通了:设置“ DMZFolder =%WD_DIR%\%Today%”