另類的文件夾加密(批處理實現)

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

  此批處理可以實現每層新建指定個數的文件夾,然後每個文件夾裏再遞歸新建相同個數的文件夾,一直達到指定的層數爲止。

  批處理代碼如下:

@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截圖如下:






發佈了42 篇原創文章 · 獲贊 20 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章