乙個無需軟體加密資料夾的bat(批處理)檔案的分析

2021-10-06 18:39:45 字數 2317 閱讀 7603

網上看到乙個bat檔案,說是不用軟體就可以加密資料夾,實際上就是用這個批處理檔案改變資料夾屬性,將其隱藏,這樣就看不見了。當然這種方法對於稍微懂點電腦的人是沒用的,真正的加密還是用軟體的。其實最簡單的辦法就是將資料夾壓縮,再設定解壓密碼就可以達到目的,畢竟壓縮軟體是每台機器必備的軟體。

這個加密方法不是重點,重點是通過學習模仿這個批處理檔案用到的命令,做一些其他事情。

1、下面是這個批處理檔案,rem後面是注釋:

cls 

rem 清除命令視窗的內容

@echo off

rem 關閉命令回顯,@表示關閉本命令回顯

title folder private

rem 修改命令視窗的名字為「folder private」

if exist "htg locker" goto unlock

rem 如果資料夾"htg locker"存在就到標號unlock處

if not exist private goto mdlocker

rem 如果資料夾"private"不存在就到標號mdlocker處

:confirm

rem 這是乙個標號

echo 你確定要加密隱藏private資料夾嗎?(y/n)

rem 顯示字串

set/p "cho=>"

rem 給cho賦值,其中的》是提示符,也可以換成其他字串,例如:set/p "cho=please input:"

if %cho%==y goto lock

if %cho%==y goto lock

if %cho%==n goto end

if %cho%==n goto end

rem 上面4行語句是對cho的值進行判斷,根據內容到不同的標號處

echo invalid choice.

goto confirm

rem 回到標號confirm處,重新輸入

:lock

ren private "htg locker"

rem 給資料夾改名:將private改為"htg locker"

attrib +h +s "htg locker"

rem 給資料夾增加隱藏(h)和系統(s)屬性

echo folder locked

goto end

:unlock

echo 輸入密碼來解鎖資料夾

set/p "pass=>"

rem 給pass變數賦值

if not %pass%== 在此設定密碼 goto fail

rem 判斷pass的內容是否是設定的密碼(這個密碼也是明文,開啟檔案就可以看到,呵呵)

attrib -h -s "htg locker"

rem 給資料夾減去隱藏(h)和系統(s)屬性

ren "htg locker" private

rem 給資料夾改名:將"htg locker"改為private

echo folder unlocked successfully

goto end

:fail

echo invalid password

goto end

:mdlocker

md private

rem 建立乙個資料夾private

echo private created successfully

goto end

:end

2、關於這個批處理中命令的幾點說明

1)set命令用來顯示環境變數的值,命令開關/p用來給變數賦值。

因為set/p 在接受使用者輸入前可先顯示提示內容,故此還可當作顯示命令用。和echo不同的是需要按回車才能繼續,這一點和pause命令有點像。例如:

set /p a=輸入乙個數字:

set /p =按回車鍵繼續    rem 僅作為顯示命令使用時,可省略變數a

如果顯示的內容有空格,就需要用引號(其實不用引號也可以,用上可以增加**的可讀性),例如:

set/p "pass=please input password:"

或者set/p pass="please input password:"

此外,set/a命令可以給變數賦值乙個運算結果,當變數需要數**算時用set /a,例如:

set /a a=%a%+1

if %a%==255 exit

2)if語句裡沒有「或」和「與」這種操作,所以上面檔案中用兩個if語句來實現「或」,那麼「與」該怎麼寫呢?

與:if 條件a if 條件b doing something

或:if 條件a doing something

if 條件b doing something

遍歷乙個資料夾所有檔案

標籤 c 舉報分類 c 41 本文利用findfirstfile findnextfile 函式歷遍指定目錄的所有檔案,最基礎的歷遍所有檔案。一下 尚無法解決檔名為中文時的亂碼問題,以及無法分別無字尾的檔名和資料夾名的區別。findfirstfile 用於獲得指定目錄的第乙個檔案。其原型為 lpfi...

選擇乙個資料夾 Delphi

在delphi中,選擇乙個資料夾的操作主要有兩種方法。一種是通過 開啟 對話方塊 opendialog 控制項,通過定位乙個檔案來間接實現。另一種是利用delphi提供的selectdirectory函式。這個函式是在filectrl單元中定義的。第二種方法還有乙個附加的好處,它可以使用root引數...

乙個拷貝整個資料夾 包括子資料夾 的方法

需要引用命名空間 using system.io 拷貝資料夾 包括子資料夾 到指定資料夾下,源資料夾和目標資料夾均需絕對路徑.格式 copyfolder 源資料夾,目標資料夾 public static void copyfolder string strfrompath,string strtop...