标题: [文件操作] [已解决]拖拽/拖放文件到bat上执行实现加解密压缩文件? [打印本页]
作者: iCorn 时间: 2011-7-12 09:20 标题: [已解决]拖拽/拖放文件到bat上执行实现加解密压缩文件?
本帖最后由 pcl_test 于 2018-4-20 17:06 编辑
因为公司发送文件,需要压缩加密。而且密码比较长,每次用winrar压缩,然后输入密码很麻烦。请教各位大牛,怎样编写这个批处理,才能实现如下的效果呢?
打开批处理,将需要压缩加密的文件拖拽进去,然后开始执行压缩。并将压缩后的文件输出到当前文件的目录。压缩包命名方式为【原文件名+当前日期】
比如,桌面上有个A.TXT,希望通过这个批处理将其压缩加密(密码为123),加密后,输出为A20110711.RAR,保存到桌面上。
同样,也请各位大牛指点下解密的过程。
先谢谢大家了。
作者: iCorn 时间: 2011-7-12 09:33
@echo off
color 0a
set /p str=请将文件拖放至此
rar a -HP123 "%ALLUSERSPROFILE%\桌面\test.rar" %str%
pause
---------------------------------------------------------------------------
这是我写的,可是,离目标还有一段距离,请大牛指教
作者: CrLf 时间: 2011-7-12 09:59
本帖最后由 zm900612 于 2011-7-12 10:02 编辑
一句话:- for %%a in (%*) do rar a -inul -ep -as -agYYYYMMDD -hp123 "%%~dpna.rar" %%a
复制代码
花哨一点就:- @echo off
- set pw=123
- for /f "tokens=1*delims==" %%a in ('ftype winrar 2^>nul') do (
- for %%c in (%%b) do (
- for %%d in (%*) do (
- %%c a -inul -ep -as -agYYYYMMDD -hp"%pw%" "%%~dpnd.rar" %%d
- )
- if "%~1"=="" echo 无文件
- pause&exit
- )
- )
- echo 未安装WinRar
- pause
复制代码
请不要在密码中使用双引号,否则易出错
作者: ArdentMan 时间: 2011-7-12 10:20
本帖最后由 ArdentMan 于 2011-7-12 10:22 编辑
要考虑下rar的路径问题啊,修改如下- @Echo Off
- Set "Mpath=c:\progra~1\winrar\" Rem 这里改为实际的rar路径
- Set "Pssword=123" Rem 这里改为实际的密码
- for %%a in (%*) do %Mpath%rar a -inul -ep -as -agYYYYMMDD -hp%Pssword% "%%~dpna.rar" "%%a"
复制代码
作者: iCorn 时间: 2011-7-12 10:25
多谢楼上的几位大牛,我已经把winrar添加到环境变量里了。我这就试试,太感谢了。
作者: ArdentMan 时间: 2011-7-12 10:31
ftype用得好,学习了
作者: iCorn 时间: 2011-7-12 11:43
3# zm900612
小弟实在是惭愧,能请版主大哥帮忙再写个解压缩的么?
比如桌面上的A20110711.RAR ,密码是123 。那解压缩后在将文件放在桌面上。
先谢谢版主啦
作者: CrLf 时间: 2011-7-12 11:51
- rar x -hp123 A20110711.RAR
复制代码
作者: batman 时间: 2011-7-12 12:09
- @echo off
- if "%~1" equ "" exit
- set "password=123"
- for /f tokens^=2delims^=^" %%a in ('ftype winrar') do (
- for %%b in (%*) do "%%a" x /y /hp%password% "%%~b" "%%~dpb\"
- )
复制代码
作者: iCorn 时间: 2011-7-12 12:12
感动的泪流满面啊。大侠这么多,这么热心,太感谢了。
作者: batman 时间: 2011-7-12 12:15
本帖最后由 batman 于 2011-7-12 12:17 编辑
10# iCorn
感动之余记得结帖。。。
此外去这里投上一票:
http://www.bathome.net/thread-13197-1-1.html
作者: iCorn 时间: 2011-7-12 12:23
9# batman
好的,另外。如果压缩文件里面是个文件夹,那么解压后,所有文件就都在桌面上了,能不能解压后还能保持原来的目录结构呢?
作者: batman 时间: 2011-7-12 12:42
- @echo off
- if "%~1" equ "" exit
- set "password=123"
- for /f tokens^=2delims^=^" %%a in ('ftype winrar') do (
- for %%b in (%*) do "%%a" x /y /eq2 /hp%password% "%%~b" "%%~dpb\"
- )
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |