批处理文件获取命令的输出存储在变量中

1 batch-file wmic

我正在尝试将此 WMIC 输出存储到一个变量中。当我回显 VAL 时,我什么也没得到!我想要实现的只是获取文件的最后修改日期。这个 WMIC 命令的问题是它以长数字形式返回一个日期,我想操纵该输出

这是我有这个问题的脚本的一部分

:: these lines are at the top of the script

SETLOCAL ENABLEEXTENSIONS
SETLOCAL ENABLEDELAYEDEXPANSION

...
...
...
...

:: a function:

set COMM="WMIC DataFile WHERE Name='C:\\Program Files (x86)\\folder\\folder\\folder\\container.npp' Get InstallDate"

set VAL=1

for /f "skip=1" %%A in ('%COMM%') do (set VAL=%%A)
echo %VAL%
Run Code Online (Sandbox Code Playgroud)

MC *_* ND 5

@echo off
    setlocal enableextensions disabledelayedexpansion

    set "file=c:\\Program Files (x86)\\Internet Explorer\\iexplore.exe"
    for /f %%a in (
        'wmic DataFile where "Name='%file%'" get InstallDate ^| find "+" '
    ) do set "val=%%a"

    echo [%val%]
Run Code Online (Sandbox Code Playgroud)

所有的问题都是正确引用字符串。对于wmic包含的文件需要新名称为单引号包围,并有与无的问题串forwhere条件是封闭的双引号。