In computing, a virtual folder generally denotes an organizing principle for files that is not dependent on location in a hierarchical directory tree. Instead, it consists of software that coalesces results from a data store, which may be a database or a custom index, and presents them visually in the format in which folder views are presented. A virtual folder can be thought of as a view that lists all files tagged with a certain tag, and thus a simulation of a folder whose dynamic contents can be assembled on the fly, when requested. It is related in concept to several other topics in computer science, with names including saved search, saved query, and filtering.
Virtual folders provide a means for making it easier for users to find files that are content-related, such as by project. The user needs to specify criteria and all files matching the criteria are dynamically aggregated into the virtual folder. Files in a virtual folder are not limited to any single physical location on the hard drive, as is the case with traditional folders, but can be in any location. In fact, files in a virtual folder do not even need to be stored as files on the hard drive. They may be on a network share or in a custom application datastore such as e-mail inbox or even a database.
Documents cannot be "stored" in a virtual folder, since physically a virtual folder is just a file storing a search query. Any attempt to store a file in a virtual folder, depending on the implementation, is redirected to some physical store.
Most implementations speed up searching by pre-indexing the hard drive, or the locations where the search has to be performed. So when searching is to be done, the index, which is a representation of the entire data suitable for fast searching, is used. Since the entire folder hierarchy is not accessed, the search is completed much faster.
Virtual folders are a well-established construct in operating systems. BeOS included a version of virtual folders referred to as "saved queries", that has since influenced the development of virtual folder features in operating systems like Mac OS X, Windows and Linux. These virtual folders are populated dynamically by executing a search on the entire file system, or a subset of it, or by using the cached version of the search.