quieres manejar archivos en uns estructura de base de datos, manejando por consiguiente el concepto de sinonimos, indices, etc, etc... cierto?
de ser asi, ...ummmm
la verdad no conozco el comando que me dices , habria que investigar las librerias que lo contienen, no se si lo haces en c o en c++ pero lo cierto es que de ser en c yo implementaria mis rutinas con funciones de medio nivel, como el fopen, fwrite etc... y crearia el indice apoyado en las direcciones de memoria(en el disco claro esta).
Para resevar el espacio del archivo crearia primero el espacio de la base de datos, esto es creando un archivo binario lleno de null;
seguidamente escribiria los archivos dentro de este deposito, utilizando fwrite y fseek y al tiempo diligenciando los campos correspondientes en el archivo, o el segmento de la base de datos que hayas reservado como indice.
Para lo de los archivos duplicados(sinonimos) seria conveniente utilizar un archivo de BD paralelo, igualmente con su respectivo indice...
espero que mis comentarios te sirvan de alguna manera.