|
|
本帖最后由 aloha20200628 于 2025-8-14 12:52 编辑
偶然发现以下代码竟然获取 %%~tF, %%~zF 失效?其失效条件》似乎是当变量 %f% 指向一个 '非当前目录' 时怪相即现(已在 win8.1, win10 验证)...
获取 %%~tF, %%~zF 无效的示例一》匹配一组真实存在的文件
- @echo off &set "f=d:\temp\*.txt"
- for /f "delims=" %%F in ('dir /b "%f%" ') do echo.%%~fF / %%~tF / %%~tF /
- pause&exit/b
复制代码 获取 %%~tF, %%~zF 无效的示例二》锚定一个真实存在的文件
- @echo off &set "f=d:\temp\abc.txt"
- for /f "delims=" %%F in ('dir /b "%f%" ') do echo.%%~fF / %%~tF / %%~tF /
- pause&exit/b
复制代码 如果以上代码中的 dir /b 改为 dir /b/s 则获取生效(但会改变文件匹配范围);或者改为以下代码亦可获取生效
有效获取 %%~tF, %%~zF 的示例代码
- @echo off &set "f1=d:\temp\*.txt" &set "f2=d:\temp\abc.txt"
- for %%F in ("%f1%") do echo.%%~fF / %%~tF / %%~tF /
- for %%F in ("%f2%") do echo.%%~fF / %%~tF / %%~tF /
- pause&exit/b
复制代码 |
|