First off as background I believe I've mentioned on this forum in the past that the partitions of the internal hard drive on this laptop are very full (99.5 % in use or the C: partition as of this moment, 98 % in use for the D: partition) which has, not particularly surprisingly, become somewhat more than a "bit of a problem", so in an effort to figure out what is taking so much space on these drives I entered the following (series of) command(s):
The final intent of which being that I hit the "Ins[ert]" key on my keyboard while looking at the resulting output (list) to save it. (There are two lines output for each directory, the first being the information for that directory alone and the second being the information for that directory and its subdirectories. The "Timer" commands are so I can see, just out of curiosity, how long the whole thing takes for each drive.)
But when I did this, I got some initially very surprising numbers, which, when I thought about it a little bit were not really all that surprising at all. That is because I use both symbolic and hard links on a regular basis because of my bad memory so that I can quickly find a file wherever at that moment I think it might be (if I think that it's going to be there it will be there! :)), and in one particular "class" of situations exactly the same group of (very large!) files might show up four or even five times. Well I really doubt that there is a solution for hard links (a relatively minor problem that I'm willing to ignore), but I'm wonder if there's some way to make "For /R xxxx /D %Dir in" not "follow" directories that are symbolic links (or junctions, of course).
Now I do have a "solution" in mind that can eliminate the problem entirely (based on using "PDir" to identify files with duplicate-INODEs and therefore be excluded, but said solution isn't exactly trivial (at least for me!) and given my slowness could take quite a while to achieve, so I'm hoping there's a quicker way.
Any suggestions anybody can give me in this matter would be appreciated.
- Dan
Code:
(Timer On & (For /R C:\ /D %Dir in (*) Do (Echo %@Format[14,%@Comma[%@FileSize
["%Dir",b,a]]] %@Format[6,%@Comma[%@Files["%Dir"]]] %Dir & Echo %@Format[14,%@Co
mma[%@FileSize[/S "%Dir",b,a]]] %@Format[6,%@Comma[%@Files[/S "%Dir"]]] /S %Dir) |
Sort /R) & Timer Off) | List
But when I did this, I got some initially very surprising numbers, which, when I thought about it a little bit were not really all that surprising at all. That is because I use both symbolic and hard links on a regular basis because of my bad memory so that I can quickly find a file wherever at that moment I think it might be (if I think that it's going to be there it will be there! :)), and in one particular "class" of situations exactly the same group of (very large!) files might show up four or even five times. Well I really doubt that there is a solution for hard links (a relatively minor problem that I'm willing to ignore), but I'm wonder if there's some way to make "For /R xxxx /D %Dir in" not "follow" directories that are symbolic links (or junctions, of course).
Now I do have a "solution" in mind that can eliminate the problem entirely (based on using "PDir" to identify files with duplicate-INODEs and therefore be excluded, but said solution isn't exactly trivial (at least for me!) and given my slowness could take quite a while to achieve, so I'm hoping there's a quicker way.
Any suggestions anybody can give me in this matter would be appreciated.
- Dan