for /f "skip=1 tokens=* usebackq" %%u in ("\\%%a\C$\ProgramData\Symantec\Symantec Endpoint Protection\12.1.*\Data\Definitions\VirusDefs\definfo.dat) do (
我正在尝试读取文件definfo.dat
的第二行,使用以下命令通过批处理文件,其中%%a
是计算机名称。执行此操作时无法识别通配符。它会查找名为 12.1.*
的文件夹,而不是查找 12.1.1, 12.1.2, 12.1.3
的任意组合等。
我在这里做错了什么?由于路径也有空格,我无法排除引号。
答案 0 :(得分:0)
只允许在路径的最后一个元素中使用通配符,因此,中间带有通配符的代码将失败。
您需要另一个for
命令来搜索文件夹
....
for /d %%z in (
"\\%%a\C$\ProgramData\Symantec\Symantec Endpoint Protection\12.1.*"
) for /f "skip=1 tokens=* usebackq" %%u in (
"%%~z\Data\Definitions\VirusDefs\definfo.dat"
) do (
....