TL;DR:: Is there any software/tool, which would index my files/directories, let me help prepare new structure of the data and then move/copy the files according to my plan?

The situation: I have two 3 TB disks that have lots of data and are not really organized and new 6 TB empty disk. I need to go trough the files and folders on my disks, find out where are the largest files, create new file structure and move the files accordingly between disks.

The problem: Determining the sizes of directories is very time consuming, since the directories contain lots of small files usually, moving the directories is also time consuming, because the files are large so going through effectively the files in Totalcmd (or any other filemanager) checking sizes of directories and moving them around isn't really feasible.

The desired solution: Some kind of software that would index all the disks I have, let me go trough the file structure, display dir sizes and allow create new structure of the files instantly. After that, when I'm happy with the changes, I would press GO button, and the software would reorganize/move the files accordingly (over night for example).

Is there anything like that? I don't seem to be able to find anything.

As for OS, I'm OK with either Windows/Linux.

  • Did we answer this?
    – DankyNanky
    Commented Nov 19, 2016 at 2:40
  • nope :(. I solved it in a way, that I moved everything manually. It was super time consuming and tedious.:/
    – tach
    Commented Nov 19, 2016 at 10:50
  • if none of the answers satisfied you, please make your own and close this off :)
    – DankyNanky
    Commented Jan 6, 2018 at 15:14
  • Unfortunately I don't have my own satisfactory answer. I did everything everything manually and it was super tedious :/. Tools, which have been proposed in the answers are a bit helpful in identifying the big directories, but I didn't find any tool which is actually good for the file organization task that I wanted.
    – tach
    Commented Jan 6, 2018 at 18:35

2 Answers 2


Linux: for file size checking, kdirstat is good, or konqueror in tree map mode, or baobab if you don't like KDE. Run these on a dir, (or mounted device), and the biggest boxes are the biggest files and directories.

That combined with a dual-pane file manager, and you can probably manage.

(If finer-grain control is needed, I'm not sure what the best tool is...)


A program probably not so much, but perhaps there could be some command prompt/powershell script. For example:

forfiles /P $Drive:\ /M *.* /S /D +"01/01/2014" /C "cmd /c if @fsize gtr 209715200 echo @path @fsize @fdate @ftime"

This was an answer from the following question: Is there a Windows command-line utility to list largest files exceeding specific size in sub-directories?

You can easily use the Powershell command -whatif and -Confirm before making any changes, but I do not see why you cannot create a command to list files based upon size, then move them to an explicit folder on your new hard-drive.


I actually love this program! It has command-like compatibility, such as:

   -time      show date and modification time
   -flattime  show date and time in a more compact format
   -tab       separate columns by tab characters, not blanks
   -size[=n]  show size of files [n characters wide]
   -kbytes    or -kb lists sizes in kbytes instead of bytes
   -mbytes    or -gbytes lists sizes in mbytes or gbytes
   -kbpure    list without "kb" postfix
   -stat      show statistics (number of files, dirs, bytes)
              and tell if hidden files or dirs were skipped.
   -nofollow  or -nofo does not follow symbolic directory links.
              use this if list runs in an endless recursion.
   -withdirs  list also directories
   -justdirs  list just directories
   -hidden    list also hidden or system files
   -arc       list contents of well known zip, tar.gz and
              tar.bz2 archives as deep as possible, including
              nested archives. type "sfk help opt" for the
              list of well known file extensions.
   -qarc      quick list archives, lists only archive entries
              at the top level, skipping nested archives.
   -xarc      list contents of any zip file, regardless of
              file extension, and tar.gz and tar.bz2 files.
              reads the first bytes of every file and will
              therefore perform slower then -arc.
   -qxarc     quick list any archive content.
   -sort[=n]  sort by name, list all or last n files
   -sortrev   sort by name, in reverse order
   -late[=n]  sort by time, list latest   [n] files last
   -old[=n]   sort by time, list oldest   [n] files last
   -big[=n]   sort by size, list biggest  [n] files last
   -small[=n] sort by size, list smallest [n] files last
   -skiplate=n sort by time, select all except newest n
   -minsize=s list only files >= size, like 10b or 100k
   -maxsize=s list only files <= size, like 10m or 4g
              b=bytes k=kbytes m=megabytes g=gigabytes
   -late=all  sort by time, list all files
   -notime    don't list time, after -late or -old
   -nosize    don't list size, after -big  or -small
   -pure      pure list of filenames, leave out time, size,
              headline or statistics.
   -quot      surround filenames by double quotes. needed when
              post-processing filename lists containing blanks.
   -quiet     do not show the "scan" progress information
   -since     list only files since this timestamp, e.g.
                 "2006-01-31 12:15:59" or 20060131121559
                 2006-01-31 or 20060131
                 today : files changed since midnight of today
                 1d    : changed since 1 day, i.e. not counting
                         from midnight, but 24 hours into the past
                 5h, 30m, 10s : 5 hours, 30 minutes, 10 seconds.
   -before    select files modified before that timestamp.
   -today     short replacement for "-since today".
   -usectime  use or list creation time instead of modification time.
              may not be available on some filesystems.
   -utc       or -gmt lists UTC/GMT time instead of local time.
   -sincedir  compare against another directory, list files that
    or -sd    have been added, have different time, or content.
              does not list files which have been removed.
   -sinceadd  like -sincedir, list only added files.
   -sincedif  like -sincedir, list only changed files.
              does not list files with diff. time but same content.
              does not list added files.
   -sincechg  list files with different content, and added files.
    or -sc    does not list files with diff. time but same content.
   -relnames  list filenames relative to specified directory(s),
              i.e. strip root directory names at the beginning.
   -tofile x  write all names directly to file x (using less memory
              than the chain command +tofile x).
   -maxfiles=n      list a maximum of n files only.
   -fileoff[set]=n  from all selected files, list only a subset,
              starting at index n. first file has index 0.

Personally I would recommend using this (and please give props to the original answer as this was also listed).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.