之前看到有網友把日本兩人劇情片放在諸如「日本文化交流」、「英語四六級」等資料夾裡,或者建很多個很深的資料夾,然後放到其中乙個資料夾內,一般人看到就不會想翻的。閒來無事,就寫了個批處理來實現。
此批處理可以實現每層新建指定個數的資料夾,然後每個資料夾裡再遞迴新建相同個數的資料夾,一直達到指定的層數為止。
批處理**如下:
@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
截圖如下:
demo截圖如下:
批處理程式資料夾加密
cls echo off title folder private if exist htg locker goto unlock if not exist private goto mdlocker confirm echo encrypt y n set p cho if cho y goto ...
批處理實現資料夾同步
1.設定檔案1 file list.txt 列出要同步的資料夾 dir1 dir2 dirn 2.批處理檔案 copy.cmd set remote root path f dir set local root path d local dir for f a in file list.txt do...
批處理管理檔案以及資料夾
一 set 命令 回顧一下set 命令有兩個引數 1 a 直接設定了乙個變數或者變數表示式,比如 set a var 2 或者 set a var 2 2 p 設定乙個變數,這個變數來自使用者的命令列的輸入結果 set p num 請選擇要執行的操作 if num 1 二 案列 2.1 批量更改檔名...