1. 程式人生 > >另類的資料夾加密(批處理實現)

另類的資料夾加密(批處理實現)

  之前看到有網友把日本兩人劇情片放在諸如“日本文化交流”、“英語四六級”等資料夾裡,或者建很多個很深的資料夾,然後放到其中一個資料夾內,一般人看到就不會想翻的。閒來無事,就寫了個批處理來實現。

  此批處理可以實現每層新建指定個數的資料夾,然後每個資料夾裡再遞迴新建相同個數的資料夾,一直達到指定的層數為止。

  批處理程式碼如下:

@echo off

::MAXDIR為每層的檔案夾個數,最大為10,既:0,1,2...9
set /p MAXDIR=請輸入每位密碼選擇的個數(預設值5)(範圍:1-10):
if ""=="%MAXDIR%" set /a MAXDIR=5
if %MAXDIR% lss 1 goto :error
if %MAXDIR% gtr 10 goto :error

::MAXDEEP為密碼的位數
set /p MAXDEEP=請輸入密碼位數(預設值5):
if ""=="%MAXDEEP%" set /a MAXDEEP=5
if %MAXDEEP% lss 1 goto :error
set /a deep=1
set /a dirCount=0
set /a MAXDEEP=MAXDEEP+1
call :calcCount
call :mdNew
echo.
echo 建立:%cd%
echo 需要建立檔案夾個數:%dirCount%
echo 正在建立中,正耐心等待。。。
echo 按Ctrl+C可以中止程式
goto :circle
:end
echo 操作已完成
title 操作已完成
pause
exit

:circle
if "0"=="%deep%" goto :end
call :getMaxDirName
::得到當前目錄內最大資料夾名
if "NoDir"=="%maxDirName%" goto :maxDirName_0
goto :maxDirName_1
:maxDirName_0
set /a maxDirName=0
goto :mdDirAndCd
:maxDirName_1
set /a maxDirName=maxDirName+1
if "%MAXDIR%"=="%maxDirName%" goto:maxDeep
:mdDirAndCd
::建立資料夾並進入
md %maxDirName%
cd %maxDirName%
set /a dirCount=dirCount-1
title 剩餘-%dirCount%
set /a deep=deep+1
if "%MAXDEEP%"=="%deep%" goto :maxDeep
goto :circle
:maxDeep
rem echo>test.txt
cd..
set /a deep=deep-1
goto :circle

:getMaxDirName
set maxDirName=NoDir
for /l %%i in (9,-1,0) do if exist %%i set /a maxDirName=%%i & goto :eof
goto :eof

:mdNew
if not exist 加密資料夾 md 加密資料夾 & cd 加密資料夾 & goto :eof
for /l %%i in (0,1,9999) do if not exist 加密資料夾_%%i (md 加密資料夾_%%i & cd 加密資料夾_%%i & goto :eof)
goto :eof

:calcCount
set /a dirCount=MAXDIR
set /a temp=MAXDIR
for /l %%i in (3,1,%MAXDEEP%) do set /a dirCount=dirCount+temp*MAXDIR & set /a temp=temp*MAXDIR
goto :eof

:error
echo 輸入有誤!
pause
exit

  截圖如下:



  用此批處理建立了個5層、每層5個資料夾的DEMO,裡面有彩蛋哦,大家可以找找,DEMO下載連結:程式設計師尋找彩蛋

  DEMO截圖如下: