Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
@ECHO OFF
if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCK
if NOT EXIST Private goto MDPrivate
:CONFIRM
echo Are you sure to lock this folder? (Y/N)
set/p "cho=>"
if %cho%==Y goto LOCK
if %cho%==y goto LOCK
if %cho%==n goto END
if %cho%==N goto END
echo Invalid choice.
goto CONFIRM
:LOCK
ren Private "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
echo Folder locked
goto End
:UNLOCK
echo Enter password to Unlock Your Secure Folder
set/p "pass=>"
if NOT %pass%== YOUR-PASSWORD goto FAIL
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" Private
echo Folder Unlocked successfully
goto End
:FAIL
echo Invalid password
goto end
:MDPrivate
md Private
echo Private created successfully
goto End
:End
@BrownBlackBlues
Copy link

BrownBlackBlues commented Sep 24, 2021 via email

@samisk01
Copy link

samisk01 commented Sep 28, 2021 via email

@BrownBlackBlues
Copy link

BrownBlackBlues commented Oct 1, 2021 via email

@sriharshaseelam
Copy link

works fine for me

@BleEthan
Copy link

Is there a file size limit? There seems to be one for me.

@unknown2832021
Copy link

It's so simple and easy how the way it works. Thank you for sharing this acknowledgement.

@MrLagag
Copy link

MrLagag commented Nov 29, 2021 via email

@MrLagag
Copy link

MrLagag commented Nov 29, 2021 via email

@Its-PJ
Copy link

Its-PJ commented Dec 4, 2021

It was working for a while, but now whenever I try to use it all it does is change the folder name to Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D} without hiding it.

@MrLagag
Copy link

MrLagag commented Dec 4, 2021 via email

@Its-PJ
Copy link

Its-PJ commented Dec 4, 2021

@MrLagag. This a problem no matter what folder the batch file is used in or on. I am not sure what changed., but simply making a new folder doesn't work.

@MrLagag
Copy link

MrLagag commented Dec 4, 2021 via email

@DevanshJ1709
Copy link

Nice... It's working at my end

@hr097
Copy link

hr097 commented Dec 25, 2021

//here is my console application code but yo can change getdatabase() to your requirement and modify function according to your requirement
//in lockDatabase() path variable is there you just need to give path of folder you wan to lock just that simple
// is you like this then please follow me on github : https://github.com/hr097

#include
#include <windows.h>
#include
#include <stdlib.h>
#include <direct.h>
#include <shlobj.h>

using namespace std;

class dataBase
{
private:

string tempStorage,command;

void writeDataToFile(string path, string write_data) //?write string data to given path file at latest line
{
    ofstream write(path.c_str(), ios::app); //file opened in append mode 

    if (!write.is_open())//if file is not opened 
    { 
      cout << "something went wrong...";
      exit(1);
    }
    else
    {
      write << write_data << endl; // write data
    }
     write.close();//file closed
}

string getDataBasePath()
{
  string AMS_Path;

  CHAR pathDocument[MAX_PATH];   // string to store path
  HRESULT result = SHGetFolderPath(NULL, CSIDL_PERSONAL, NULL,SHGFP_TYPE_CURRENT,pathDocument); // getting documents path

  if (result == S_OK) // check if documents path is successfully stored in pathdocuments
  {
    AMS_Path = pathDocument;       // take original documents path into string
    AMS_Path = AMS_Path + "\\{JSN-1008-JSK-22-10-2021}"; // making AMS folder path
  }
  else
  { 
    cout <<endl << "something went wrong....";
    exit(1);
  }

  return(AMS_Path);
}


public:

void lockDataBase() 
{  
    string path = getDataBasePath();
    tempStorage = path ;
    path = path + "\\mn-cs-gxv-jsnfe-1008-jsn-db-lock.ini";
    writeDataToFile(path,"[.shellClassInfo]\n");
    writeDataToFile(path,"CLSID = {63E23168-BFF7-4E87-A246-EF024425E4EC}\n");
    
    command = "attrib +h +s " + tempStorage;
    WinExec(command.c_str(),0);
}  

dataBase()
{

}
~dataBase()
{

}

protected:

};

int main()
{
dataBase D;
D.lockDataBase();
return(0);
}

@hr097
Copy link

hr097 commented Dec 25, 2021

//here is my console application code but yo can change getdatabasepath() to your requirement and modify function according to your requirement
//in unlockDatabase() path variable is there you just need to give path of folder you wan to unlock just that simple
// is you like this then please follow me on github : https://github.com/hr097

#include
#include <windows.h>
#include
#include <stdlib.h>
#include <direct.h>
#include <shlobj.h>

using namespace std;

class dataBase
{
private:

string tempStorage,command;

void writeDataToFile(string path, string write_data) //?write string data to given path file at latest line
{
    ofstream write(path.c_str(), ios::app); //file opened in append mode 

    if (!write.is_open())//if file is not opened 
    { 
      cout << "something went wrong...";
      exit(1);
    }
    else
    {
      write << write_data << endl; // write data
    }
     write.close();//file closed
}

string getDataBasePath()
{
  string AMS_Path;

  CHAR pathDocument[MAX_PATH];   // string to store path
  HRESULT result = SHGetFolderPath(NULL, CSIDL_PERSONAL, NULL,SHGFP_TYPE_CURRENT,pathDocument); // getting documents path

  if (result == S_OK) // check if documents path is successfully stored in pathdocuments
  {
    AMS_Path = pathDocument;       // take original documents path into string
    AMS_Path = AMS_Path + "\\{JSN-1008-JSK-22-10-2021}"; // making AMS folder path
  }
  else
  { 
    cout <<endl << "something went wrong....";
    exit(1);
  }

  return(AMS_Path);
}

public:

void unLockDataBase()
{   
    string path = getDataBasePath();
    tempStorage = path;
    path = path + "\\mn-cs-gxv-jsnfe-1008-jsn-db-lock.ini";
    
    command = "del ";
    command =  command + path;
    system(command.c_str());
    
    command.clear();
    command = "attrib -h -s " + tempStorage;
    WinExec(command.c_str(),0);
}

dataBase()
{

}
~dataBase()
{

}

protected:

};

int main()
{
dataBase D;
D.unLockDataBase();
return(0);
}

@hr097
Copy link

hr097 commented Dec 25, 2021

here you just need to keep both c++ exe file in separate folder wherever you want ......of you can delete that also and keep cpp and whenever you need to lock /unlock you can generate file to via code...Bingo ! wow and most important thing it is not showing in hidden folder
neither in search bar of start menu

@hr097
Copy link

hr097 commented Dec 28, 2021

@Bhirav
Copy link

Bhirav commented Feb 3, 2022

plz help mi unlock my pass/folder

@hr097
Copy link

hr097 commented Feb 12, 2022

which method have you tried ?
is any issue with c++ mail me : harshilramani9777@gmail.com

@Hemanthvegita
Copy link

this is nice

@badababu
Copy link

Hi guys ,
I lost my file by move my folder in another place , can anyone help me

@kamranzafar4343
Copy link

File Lost During Moving
Data transfer from one device to another or from a folder to another is a common and easy operation. The simplest way is using Ctrl + C and Ctrl + V or Ctrl + X and Ctrl +V.

@amirhamzabadal2477
Copy link

Its a good way to protect files, Thanks to it's creator🥰... I am using this for a year. But by mistake, I've delete the batch file after hiding my files. Is there any way to get them back without batch file. I need to know where the files goes after hiding them. Please help me🥺

@MRShamshiri
Copy link

hi my file is lock but i cant unlock the file. plz help me
Screenshot 2022-07-07 040912

@word20
Copy link

word20 commented Aug 14, 2022

Watch this video for a demonstration and understanding on how to use folderlock
https://www.youtube.com/watch?v=SfTnDvINg3w

@Fyre567
Copy link

Fyre567 commented Nov 4, 2022

Is there a way to disable direct access the folder my just searching up the item in the search box?

@hrxth-xk
Copy link

hrxth-xk commented Jan 6, 2023

Guys we can just right click on the .bat file and click on edit to see the password. I don't think it is safe

@hr097
Copy link

hr097 commented Jan 7, 2023 via email

@ANZEX
Copy link

ANZEX commented Jan 15, 2023

Guys Please help. I used this and locked my 300GB data in my external HD. Now I have forgotten my password. How can I find my password or retrieve my data? Please help

Thank u BrownBlackBlues! The issue is that I got the password but the folder it gives me is empty while when I see the properties of my HD, it shows 7GB free out of 250GB. now what?

i can solve
it

@Christopher-px
Copy link

Enter to the folder without the pass....

file:///C:/PATH_TO_FOLDER/Control%20Panel.%7B21EC2020-3AEA-1069-A2DD-08002B30309D%7D

or in options view all files....and enter to.... Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment