DIR /G question

May 20, 2008
603
0
Sammamish, WA
DIR /G does not appear to report accurately for small files on NTFS
drives (at least).

It seems that for small files, they do not occupy a cluster or
separate data storage area. When I delete them and look at free space
before and after the operation, there is no more free space.

I believe using NtQueryInformationFile with FILE_STANDARD_INFORMATION
and looking at .AllocationSize might be more accurate than what DIR /G
appears to be doing: rounding up to an allocation unit size.

When deleting below, the del command appears to say when bytes are
freed, but is mute when none actually become free.

I also tested on a FAT and FAT32 drives which del claimed to have
recovered 32,768 and 4,096 bytes in spite of %@diskfree not changing.

D:\>echo hi > foobar

D:\>echo %@diskfree[d:]
528251428864

D:\>*dir /g/k/m foobar
2009-11-30 15:35 4,096 foobar

D:\>del foobar
Deleting D:\foobar
1 file deleted

D:\>echo %@diskfree[d:]
528251428864

D:\>for /l %h in (1,1,100) do echo line number %h >> foobar

D:\>*dir /g/k/m foobar
2009-11-30 15:36 4,096 foobar

D:\>echo %@diskfree[d:]
528251424768

D:\>del foobar
Deleting D:\foobar
1 file deleted 4,096 bytes freed

D:\>echo %@diskfree[d:]
528251428864


--
Jim Cook
2009 Saturdays: 4/4, 6/6, 8/8, 10/10, 12/12 and 5/9, 9/5, 7/11, 11/7.
Next year they're Sunday.
 
May 20, 2008
603
0
Sammamish, WA
TCC 11.00.34 Windows XP [Version 5.1.2600]
TCC Build 34 Windows XP Build 2600 Service Pack 3

On Mon, Nov 30, 2009 at 3:48 PM, Jim Cook <> wrote:

> DIR /G does not appear to report accurately for small files on NTFS
> drives (at least).

--
Jim Cook
2009 Saturdays: 4/4, 6/6, 8/8, 10/10, 12/12 and 5/9, 9/5, 7/11, 11/7.
Next year they're Sunday.
 

rconn

Administrator
Staff member
May 14, 2008
12,340
149
> DIR /G does not appear to report accurately for small files on NTFS
> drives (at least).
>
> It seems that for small files, they do not occupy a cluster or
> separate data storage area. When I delete them and look at free space
> before and after the operation, there is no more free space.
>
> I believe using NtQueryInformationFile with FILE_STANDARD_INFORMATION
> and looking at .AllocationSize might be more accurate than what DIR /G
> appears to be doing: rounding up to an allocation unit size.

It also (dramatically) slows down DIR & PDIR. I don't think the minor
benefit outweighs the major pain.

Rex Conn
JP Software
 
Similar threads
Thread starter Title Forum Replies Date
M A simple question related to the "dir" (and "pdir") commands... Support 5
J DIR /4 question Support 6
E Fixed Bug with DIR /Z displaying descriptions Support 8
J Paths shown in DIR /B Support 2
K Fixed Prompt display will be shifted after use dir to display a filename with Chinese. (v25.00.28 x64) Support 18
Jesse Heines How to? How to display picture creation date with dir command Support 6
vefatica WAD DIR.BTM? Support 11
DrusTheAxe DIR reports meaningless SYMLINK information Support 14
C show file description? with dir? Support 8
vefatica DIR /F and streams? Support 7
rps Multi-column DIR /v not displaying all files. Support 5
R How to? Dir specific file search patterns with spaces in the pathnames? Support 6
rps Dir /Nfv -> Alt-F2 Support 2
rps @FILESIZE[....,a] allocated size not matching Dir results Support 8
A TCMD - Dir Command puts out blank lines? Support 16
S Problems with dir command in the debugger Support 5
M TCC incorrect dir output since Windows 1803 Support 6
x13 Problem listing repository files using DIR http(s)://... Support 8
cxxl dir /s works in mysterious ways :( Support 4
vefatica Help nit (FFIND and DIR with /S) Support 0
N Fixed Strange dir behavior Support 6
JohnQSmith Weird DIR output (missing lines) Support 1
C 7zip with date range .vs. filelist created with dir and daterange Support 0
D Towards shared (dir-)history lists Support 3
vefatica WAD DIR /HL still gets names wrong Support 16
vefatica DIR /S /HL? Support 4
H Fixed DIR /G returns wrong sizes Support 2
nickles WAD dir.htm Support 2
vefatica DO dir in /s /a:+d /d"g:\" * ( ... ) Support 26
vefatica DIR \\.\...? Support 4
M Fixed DIR /S /B1 ignores "/S" Support 5
C tcmd.ini not loading from program dir? Support 5
D Fixed Dir /Nm:n has changed Support 1
rps How to? dir /s unexpected results Support 10
vefatica Update to current install dir? Support 8
cgunhouse Problem with "dir /=" Support 4
T dir /h error in empty directory Support 22
P WAD TC 15.0.1.58 x64 crasches with a simple dir command Support 18
CWBillow dir /4 strange Support 2
samintz WAD DIR /B1 and /X Support 2
nickles dir behaves inconsistently Support 5
vefatica DIR, streams, and wildcards? Support 1
vefatica DIR /: /u ... streams not counted? Support 7
vefatica Documentation DIR /B /S /: Support 2
samintz How to? DIR listing for exact match Support 1
dcantor WAD dir "ftp:// ..." fails in TCC 15 Support 7
T How to? dir/pdir - 2nd level down only Support 7
MikeBaas How to? DIR: supress extensions? Support 5
old coot dir /s dies on my C: drive Support 2
A WAD Dir daterange + multiple path wildcards crashes tcc Support 2

Similar threads