回复 8# oiw
d:\Test>dir /ad /x
驱动器 D 中的卷是 PROGRAM
卷的序列号是 CB34-5A7B
d:\Test 的目录
2013/10/29 21:29 <DIR> .
2013/10/29 21:29 <DIR> ..
2013/01/15 19:23 <DIR> abc
2014/10/14 22:43 <DIR> TEST~1 Test..
2014/10/14 22:46 <DIR> TEST1~1 Test 1..
0 个文件 0 字节
5 个目录 19,410,436,096 可用字节
d:\Test>
你的时间格式多出上午和下午,短文件名位于第5列
解决办法:
1.把代码中的 tokens=4* 改成 tokens=5*
2.下面的代码,多用一层for,但应该可以两者兼顾:- @echo off
- if "%~1"=="" echo,把畸形目录拖拽到bat上&pause&exit /b
- for /f "tokens=2delims=>" %%i in ('dir /ad /x "%~1\..\"') do (
- for /f "tokens=1*" %%a in ("%%i") do (
- for %%c in ("%~1$") do if /i "%%b$"=="%%~nxc" echo,%%a
- )
- )
- pause
复制代码
|