[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批量加密打包单个文件的批处理文件(请高手帮忙修改一下)

这个批处理的密码是随机的,请问能更改成自定义密码吗?还有压缩后的文件名也是,能不能改成前缀相同后面的数字不一样呢?(不如:tu01~tu***这样)
============================================================================================


@echo off
REM ======================================================================
REM
REM Batch File -- Created with SAPIEN Technologies PrimalScript 4.0
REM
REM NAME: 批量加密打包单个文件,并生成对应密码表
REM
REM AUTHOR: hitme ,
REM DATE : 2006-12-16
REM
REM COMMENT: 密码由随机数字组成,长度与文件名长度相同
REM
REM ======================================================================
@echo off

:repare
del pass.txt tmp.txt 2>nul
md package 2>nul


setlocal ENABLEDELAYEDEXPANSION
:input
echo.
set /p input=加密打包文件还是文件夹^(F=文件,D=文件夹,A=全部^)
echo.
if /i "%input%"=="f" (set key=/aa) else (
      if /i "%input%"=="d" (set key=/ad) else (
                if /i "%input%"=="a" (set key=) else goto :input))

:code
for /f "delims=" %%i in ('dir %key%/b^|findstr /v "%~nx0 package"') do (
       echo.%%i>tmp.txt
       echo. >>tmp.txt
       for /f "delims=:" %%a in ('findstr /o "." tmp.txt') do (
        set /a len=%%a - 2
       )
       set m=
       for /l %%l in (1,1,!len!) do (
        echo %random% >nul
        set m=!m!!random:~-1!
       )
       echo %%i:!m!>>pass.txt
       del tmp.txt>nul
      
)
endlocal

:package
setlocal
set path=%path%;c:\program files\winrar
if exist pass.txt (
     for /f "tokens=1* delims=:" %%i in (pass.txt) do rar a -p%%j "package\%%~ni.rar" "%%i"
     move pass.txt package
     start package
) else echo...未能打包 & pause
endlocal

本帖最后由 apang 于 2013-1-3 09:29 编辑

我勒个去,楼主要"请高手"。。。

TOP

返回列表