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

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

本帖最后由 pcl_test 于 2018-4-20 17:06 编辑

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

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

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

先谢谢大家了。
1

评分人数

    • batman: 感谢给帖子标题标注[已解决]字样PB + 2

@echo off
color 0a
set /p str=请将文件拖放至此
rar a -HP123 "%ALLUSERSPROFILE%\桌面\test.rar" %str%
pause
---------------------------------------------------------------------------
这是我写的,可是,离目标还有一段距离,请大牛指教

TOP

本帖最后由 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

评分人数

TOP

本帖最后由 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"
复制代码
一路飘过的鸟~~~

TOP

多谢楼上的几位大牛,我已经把winrar添加到环境变量里了。我这就试试,太感谢了。

TOP

ftype用得好,学习了
一路飘过的鸟~~~

TOP

3# zm900612

小弟实在是惭愧,能请版主大哥帮忙再写个解压缩的么?
比如桌面上的A20110711.RAR ,密码是123 。那解压缩后在将文件放在桌面上。
先谢谢版主啦

TOP

  1. rar x -hp123 A20110711.RAR
复制代码

TOP

  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. )
复制代码
***共同提高***

TOP

感动的泪流满面啊。大侠这么多,这么热心,太感谢了。

TOP

本帖最后由 batman 于 2011-7-12 12:17 编辑

10# iCorn

感动之余记得结帖。。。
此外去这里投上一票:
http://www.bathome.net/thread-13197-1-1.html
***共同提高***

TOP

9# batman


好的,另外。如果压缩文件里面是个文件夹,那么解压后,所有文件就都在桌面上了,能不能解压后还能保持原来的目录结构呢?

TOP

  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. )
复制代码
***共同提高***

TOP

返回列表