Skip to content

amansh45/TerminalFileExplorer

Repository files navigation

This application is build using C++. Inorder to run the application on you local machine first navigate to the directory and type the following command.

user@user-Inspiron-3542:~/Desktop/git/fileexplorer$ ./FileExplorer

Following are the important points regarding the project.

1: The application must only be opened in full screen else the layout of the application will get disturbed.

2: All the mandatory functionalities like create_dir, create_file, search, goto, delete_file, delete_dir, snapshot,copy, move and rename are well implemented except the recycle bin.

3: As per the normal mode scroll feature is working fine and user can navigate using the four arrow keys, backspace, enter and home key.

4: Files are opening on pressing enter using the traditional "xdg-open" method.

5: User can enter into command mode on pressing enter and back to normal mode on pressing ESC key.

6: Below is the syntax and assumptions for various commands implemented:

(a): Path having space in between must be enclosed with inverted commas. ""
        For Eg: goto "Path with space"

(b): Any any extra space in between the command is considered as a syntax error.

(c): Tough recursive delete is implemented but user can delete only one directory/file at a time whether it be empty or filled.

(d): Similar is the case with creating a directory or a file, (i.e. only one file/directory will be created per command).

(e): Unlike creating or deleting a file or a directory on one go, user can move/copy multiple files/directories at a time.

(f): User can provide both absolute path wrt the HOME(directory where the application is started) or relative path wrt the present working directory of the user. 

(g): If the user is providing the absolute path wrt HOME then the path must start with a back slash '/'.

(f): If the user is providing the relative path wrt current working directory then the path must not start with back slash '/'.

(g):    Syntax for

        GOTO: goto <directory_name>
            Eg: goto "destination directory"            goto destination_directory
        
        CREATE FILE: create_file <file_name> <destination>
            Eg: create_file "sample.txt" destination_directory           create_file file_name .
            
        CREATE DIRECTORY: create_dir <directory_name> <destination>
            Eg: create_dir "directory name" destination_directory           create_dir directory_name destination
        
        DELETE_FILE: delete_file <file_path>
            Eg: delete_file "file path"            delete_file file_path
        
        DELETE_DIR: delete_dir <dir_path>
            Eg: delete_dir "dir path"           delete_dir dir_path
            
        COPY: copy <filename/(s)> <destination directory>               copy <directory name/(s)> <destination directory>
            Eg: copy file1.txt file2.txt /home/git/destination              copy /home/source /home/git/destination
        
        MOVE: move <filename/(s)> <destination directory>               move <directory name/(s)> <destination directory>
            Eg: move file1.txt file2.txt /home/git/destination              move /home/source /home/git/destination
            
        SNAPSHOT: snapshot <directory path> <filename>
            Eg: snapshot .git sample.txt
            
        SEARCH: search <keyword>
            Eg: search sample
            
        RENAME: rename <old dir/file name> <new dir/file name>
            Eg: rename xyz.txt abc.txt                          rename dir1 dir2

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published