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 14, 2021

@samisk01
Copy link

samisk01 commented Sep 24, 2021

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

@BrownBlackBlues
Copy link

BrownBlackBlues commented Sep 24, 2021

@samisk01
Copy link

samisk01 commented Sep 24, 2021

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?

@BrownBlackBlues
Copy link

BrownBlackBlues commented Sep 24, 2021

@samisk01
Copy link

samisk01 commented Sep 28, 2021

@BrownBlackBlues
Copy link

BrownBlackBlues commented Oct 1, 2021

@sriharshaseelam
Copy link

sriharshaseelam commented Oct 4, 2021

works fine for me

@BleEthan
Copy link

BleEthan commented Oct 11, 2021

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

@unknown2832021
Copy link

unknown2832021 commented Nov 16, 2021

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

@MrLagag
Copy link

MrLagag commented Nov 29, 2021

@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

@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

@DevanshJ1709
Copy link

DevanshJ1709 commented Dec 24, 2021

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

Hemanthvegita commented Feb 22, 2022

this is nice

@badababu
Copy link

badababu commented Mar 10, 2022

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

@kamranzafar4343
Copy link

kamranzafar4343 commented Mar 23, 2022

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

amirhamzabadal2477 commented May 8, 2022

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🥺

@Mohammadrezashamshiri
Copy link

Mohammadrezashamshiri commented Jul 6, 2022

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?

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