Board logo

标题: [代码合集] 好东西——自动加密的批处理 (顺便解释下这段代码) [打印本页]

作者: aaqqi1111    时间: 2008-8-25 23:06     标题: 好东西——自动加密的批处理 (顺便解释下这段代码)

  1. @echo off
  2. REM ======================================================================
  3. REM
  4. REM Batch File -- Created with SAPIEN Technologies PrimalScript 4.0
  5. REM
  6. REM NAME: 批量加密打包单个文件,并生成对应密码表
  7. REM
  8. REM AUTHOR: hitme ,
  9. REM DATE  : 2006-12-16
  10. REM
  11. REM COMMENT: 密码由随机数字组成,长度与文件名长度相同
  12. REM
  13. REM ======================================================================
  14. @echo off
  15. :repare
  16. del pass.txt tmp.txt 2>nul
  17. md package 2>nul
  18. setlocal ENABLEDELAYEDEXPANSION
  19. :input
  20. echo.
  21. set /p input=加密打包文件还是文件夹^(F=文件,D=文件夹,A=全部^)
  22. echo.
  23. if /i "%input%"=="f" (set key=/aa) else (
  24.      if /i "%input%"=="d" (set key=/ad) else (
  25.                if /i "%input%"=="a" (set key=) else goto :input))
  26. :code
  27. for /f "delims=" %%i in ('dir %key%/b^|findstr /v "%~nx0 package"') do (
  28.       echo.%%i>tmp.txt
  29.       echo. >>tmp.txt
  30.       for /f "delims=:" %%a in ('findstr /o "." tmp.txt') do (
  31.        set /a len=%%a - 2
  32.       )
  33.       set m=
  34.       for /l %%l in (1,1,!len!) do (
  35.        echo %random% >nul
  36.        set  m=!m!!random:~-1!
  37.       )
  38.       echo %%i:!m!>>pass.txt
  39.       del tmp.txt>nul
  40.       
  41. )
  42. endlocal
  43. :package
  44. setlocal
  45. set path=%path%;c:\program files\winrar
  46. if exist pass.txt (
  47.     for /f "tokens=1* delims=:" %%i in (pass.txt) do rar a -p%%j "package\%%~ni.RAR" "%%i"
  48.    
  49.     move pass.txt package
  50. start package
  51. ) else echo...未能打包
  52. pause
复制代码

作者: pusofalse    时间: 2008-8-26 00:44

挺实用的小工具,万一丢了密码表就OVER。
代码还可以简化
作者: wangwei4106    时间: 2008-8-26 12:03

也来看看!
就是不知道安不安全!
作者: 愚无尽    时间: 2008-8-26 18:53

多谢分享。。。。。。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2