找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29230|回复: 12

[文件操作] [已解决]拖拽/拖放文件到bat上执行实现加解密压缩文件?

[复制链接]
发表于 2011-7-12 09:20:16 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2018-4-20 17:06 编辑

因为公司发送文件,需要压缩加密。而且密码比较长,每次用winrar压缩,然后输入密码很麻烦。请教各位大牛,怎样编写这个批处理,才能实现如下的效果呢?

打开批处理,将需要压缩加密的文件拖拽进去,然后开始执行压缩。并将压缩后的文件输出到当前文件的目录。压缩包命名方式为【原文件名+当前日期】
比如,桌面上有个A.TXT,希望通过这个批处理将其压缩加密(密码为123),加密后,输出为A20110711.RAR,保存到桌面上。

同样,也请各位大牛指点下解密的过程。

先谢谢大家了。

评分

参与人数 1PB +2 收起 理由
batman + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

 楼主| 发表于 2011-7-12 09:33:25 | 显示全部楼层
@echo off
color 0a
set /p str=请将文件拖放至此
rar a -HP123 "%ALLUSERSPROFILE%\桌面\test.rar" %str%
pause
---------------------------------------------------------------------------
这是我写的,可是,离目标还有一段距离,请大牛指教
发表于 2011-7-12 09:59:56 | 显示全部楼层
本帖最后由 zm900612 于 2011-7-12 10:02 编辑

一句话:
  1. for %%a in (%*) do rar a -inul -ep -as -agYYYYMMDD -hp123 "%%~dpna.rar" %%a
复制代码
花哨一点就:
  1. @echo off
  2. set pw=123
  3. for /f "tokens=1*delims==" %%a in ('ftype winrar 2^>nul') do (
  4.         for %%c in (%%b) do (
  5.                 for %%d in (%*) do (
  6.                         %%c a -inul -ep -as -agYYYYMMDD -hp"%pw%" "%%~dpnd.rar" %%d
  7.                 )
  8.                 if "%~1"=="" echo 无文件
  9.                 pause&exit
  10.         )
  11. )
  12. echo 未安装WinRar
  13. pause
复制代码
请不要在密码中使用双引号,否则易出错

评分

参与人数 1技术 +1 收起 理由
ArdentMan + 1 乐于助人

查看全部评分

发表于 2011-7-12 10:20:43 | 显示全部楼层
本帖最后由 ArdentMan 于 2011-7-12 10:22 编辑

要考虑下rar的路径问题啊,修改如下

  1. @Echo Off
  2. Set "Mpath=c:\progra~1\winrar" Rem 这里改为实际的rar路径
  3. Set "Pssword=123" Rem 这里改为实际的密码
  4. for %%a in (%*) do %Mpath%rar a -inul -ep -as -agYYYYMMDD -hp%Pssword% "%%~dpna.rar" "%%a"
复制代码
 楼主| 发表于 2011-7-12 10:25:15 | 显示全部楼层
多谢楼上的几位大牛,我已经把winrar添加到环境变量里了。我这就试试,太感谢了。
发表于 2011-7-12 10:31:43 | 显示全部楼层
ftype用得好,学习了
 楼主| 发表于 2011-7-12 11:43:22 | 显示全部楼层
3# zm900612

小弟实在是惭愧,能请版主大哥帮忙再写个解压缩的么?
比如桌面上的A20110711.RAR ,密码是123 。那解压缩后在将文件放在桌面上。
先谢谢版主啦
发表于 2011-7-12 11:51:02 | 显示全部楼层
  1. rar x -hp123 A20110711.RAR
复制代码
发表于 2011-7-12 12:09:37 | 显示全部楼层

  1. @echo off
  2. if "%~1" equ "" exit
  3. set "password=123"
  4. for /f tokens^=2delims^=^" %%a in ('ftype winrar') do (
  5.   for %%b in (%*) do "%%a" x /y /hp%password% "%%~b" "%%~dpb"
  6. )
复制代码
 楼主| 发表于 2011-7-12 12:12:42 | 显示全部楼层
感动的泪流满面啊。大侠这么多,这么热心,太感谢了。
发表于 2011-7-12 12:15:38 | 显示全部楼层
本帖最后由 batman 于 2011-7-12 12:17 编辑

10# iCorn

感动之余记得结帖。。。
此外去这里投上一票:
http://www.bathome.net/thread-13197-1-1.html
 楼主| 发表于 2011-7-12 12:23:24 | 显示全部楼层
9# batman


好的,另外。如果压缩文件里面是个文件夹,那么解压后,所有文件就都在桌面上了,能不能解压后还能保持原来的目录结构呢?
发表于 2011-7-12 12:42:10 | 显示全部楼层

  1. @echo off
  2. if "%~1" equ "" exit
  3. set "password=123"
  4. for /f tokens^=2delims^=^" %%a in ('ftype winrar') do (
  5.   for %%b in (%*) do "%%a" x /y /eq2 /hp%password% "%%~b" "%%~dpb"
  6. )
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 20:03 , Processed in 0.021278 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表