标题: [文件操作] 求:批处理压缩文件夹里面的文件 [打印本页]
作者: wbyz20 时间: 2013-7-6 15:47 标题: 求:批处理压缩文件夹里面的文件
本帖最后由 wbyz20 于 2013-7-11 22:41 编辑
批处理用winrar压缩文件夹里面的文件,每个文件打一个压缩包并用 最好 压缩方式压缩。压缩后的文件名用压缩前的文件名。
作者: wbyz20 时间: 2013-7-11 22:42
哪位搞手知道,我试了好多只能把整个文件夹压缩打包,不能把文件夹里面的文件,一个文件打一个包,在线等。谢谢
作者: apang 时间: 2013-7-11 23:24
- @echo off
- set "rar=c:\program files\winrar\rar.exe"
- pushd "d:\abc\"
- md "New\" 2>nul
- for %%a in (*) do "%rar%" a -m5 "New\%%~na" "%%a"
- start "" "New\"
复制代码
更改d:\abc\为实际路径
作者: wbyz20 时间: 2014-9-15 07:39
更改d:\abc\为实际路径
apang 发表于 2013-7-11 23:24
这个可以压缩,但每次它都会把已压缩过的再压缩一次
作者: apang 时间: 2014-9-15 10:11
卧槽,2楼不是说在线等答案吗?一等就是一年多
请继续等待,明年今日,我会想出答案,嗯嗯
作者: DAIC 时间: 2014-9-15 13:17
本帖最后由 DAIC 于 2014-9-15 13:19 编辑
回复 4# wbyz20 - @echo off
- set "rar=c:\program files\winrar\rar.exe"
- pushd "d:\abc\"
- if exist New\ (
- echo 我要删除文件夹 New
- pause
- rd /s /q New
- )
- md "New\" 2>nul
- for /f "delims=" %%a in ('dir /b /a-d ^| findstr /v ".rar$"') do (
- "%rar%" a -m5 "New\%%~na" "%%a"
- )
- start "" "New\"
复制代码
作者: wbyz20 时间: 2014-9-20 11:52
回复 6# DAIC
是这个的:我的msmql数据库备份,每天晚上23点备份,备份文件很大,我就用Winara进行压缩放到存储下面。用了三楼 apang 的脚本可以打包,我用win定时任务23:30启动,但每次打包他会把已打包的文件再一次全部重新打包一次。我的要求是已打包过的文件不要再打包了。
作者: DAIC 时间: 2014-9-20 18:56
回复 7# wbyz20
你测试6楼代码的时候发现什么问题了?
作者: wbyz20 时间: 2014-9-23 16:16
回复 8# DAIC
这个代码还是有问题,他会把这个文件夹删除了,又重头到尾把一次包
这个文件夹就是mssql备份,每天会备份一次。如果打过包的就不要重新打包了。
作者: CrLf 时间: 2014-9-23 17:28
回复 9# wbyz20
你自己在顶楼没讲清楚,6 楼是特地写了删除 new 文件夹的,3 楼代码虽然会重复压缩,但在背景未知的情况下也是无从挑剔的。
求助要描述到位,别人不可能预见特殊情况下的特殊要求,如果不是很明确地知道楼主的需求,我们只能优先考虑通用性,其次才是效率。
作者: 523066680 时间: 2014-9-23 18:05
诈尸?
作者: yu2n 时间: 2014-9-23 18:45
我觉得楼主强烈需求一个批处理编写的备份管理软件,尽管它的核心是盗版的 rar.exe 。
So,带价联系我吧 ……
作者: xxpinqz 时间: 2014-9-24 17:46
你们太坏了,估计楼主又要明年才出现了。
作者: wbyz20 时间: 2014-9-24 22:38
哪位帮我整下,谢谢了
作者: CrLf 时间: 2014-9-24 23:43
回复 14# wbyz20
借 6 楼代码小改一下- @echo off
- set "rar=c:\program files\winrar\rar.exe"
- pushd "d:\abc\"
-
- md "New\" 2>nul
- for /f "delims=" %%a in ('dir /b /a-d ^| findstr /v ".rar$"') do (
- if not exist "New\%%~na.rar" "%rar%" a -m5 "New\%%~na" "%%a"
- )
-
- start "" "New\"
复制代码
作者: apang 时间: 2014-9-25 00:45
- @echo off
- set "rar=c:\program files\winrar\rar.exe"
- pushd "文件夹1\"
- md "New\" 2>nul
- for %%a in (*) do "%rar%" a -m5 -o- -x*.rar -x*.zip "New\%%~na" "%%a"
- start "" "New\"
复制代码
rar 的-x开关是排除,-o-是更新时不覆盖
作者: wbyz20 时间: 2014-9-26 15:38
回复 16# apang
谢谢,楼主问题已解决,万分感谢!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |