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

[文件操作] 求:批处理压缩文件夹里面的文件

[复制链接]
发表于 2013-7-6 15:47:00 | 显示全部楼层 |阅读模式
本帖最后由 wbyz20 于 2013-7-11 22:41 编辑

批处理用winrar压缩文件夹里面的文件,每个文件打一个压缩包并用 最好 压缩方式压缩。压缩后的文件名用压缩前的文件名。
 楼主| 发表于 2013-7-11 22:42:42 | 显示全部楼层
哪位搞手知道,我试了好多只能把整个文件夹压缩打包,不能把文件夹里面的文件,一个文件打一个包,在线等。谢谢
发表于 2013-7-11 23:24:47 | 显示全部楼层
  1. @echo off
  2. set "rar=c:\program files\winrar\rar.exe"
  3. pushd "d:\abc"
  4. md "New" 2>nul
  5. for %%a in (*) do "%rar%" a -m5 "New\%%~na" "%%a"
  6. start "" "New"
复制代码
更改d:\abc\为实际路径
 楼主| 发表于 2014-9-15 07:39:47 | 显示全部楼层
更改d:\abc\为实际路径
apang 发表于 2013-7-11 23:24



    这个可以压缩,但每次它都会把已压缩过的再压缩一次
发表于 2014-9-15 10:11:21 | 显示全部楼层
卧槽,2楼不是说在线等答案吗?一等就是一年多
请继续等待,明年今日,我会想出答案,嗯嗯

评分

参与人数 1PB +5 收起 理由
CrLf + 5 :lol

查看全部评分

发表于 2014-9-15 13:17:59 | 显示全部楼层
本帖最后由 DAIC 于 2014-9-15 13:19 编辑

回复 4# wbyz20
  1. @echo off
  2. set "rar=c:\program files\winrar\rar.exe"
  3. pushd "d:\abc"
  4. if exist New\ (
  5.     echo 我要删除文件夹 New
  6.     pause
  7.     rd /s /q New
  8. )
  9. md "New" 2>nul
  10. for /f "delims=" %%a in ('dir /b /a-d ^| findstr /v ".rar$"') do (
  11.     "%rar%" a -m5 "New\%%~na" "%%a"
  12. )
  13. start "" "New"
复制代码
 楼主| 发表于 2014-9-20 11:52:52 | 显示全部楼层
回复 6# DAIC


    是这个的:我的msmql数据库备份,每天晚上23点备份,备份文件很大,我就用Winara进行压缩放到存储下面。用了三楼 apang 的脚本可以打包,我用win定时任务23:30启动,但每次打包他会把已打包的文件再一次全部重新打包一次。我的要求是已打包过的文件不要再打包了。
发表于 2014-9-20 18:56:33 | 显示全部楼层
回复 7# wbyz20


    你测试6楼代码的时候发现什么问题了?
 楼主| 发表于 2014-9-23 16:16:23 | 显示全部楼层
回复 8# DAIC


这个代码还是有问题,他会把这个文件夹删除了,又重头到尾把一次包

这个文件夹就是mssql备份,每天会备份一次。如果打过包的就不要重新打包了。
发表于 2014-9-23 17:28:13 | 显示全部楼层
回复 9# wbyz20


    你自己在顶楼没讲清楚,6 楼是特地写了删除 new 文件夹的,3 楼代码虽然会重复压缩,但在背景未知的情况下也是无从挑剔的。
    求助要描述到位,别人不可能预见特殊情况下的特殊要求,如果不是很明确地知道楼主的需求,我们只能优先考虑通用性,其次才是效率。
发表于 2014-9-23 18:05:30 | 显示全部楼层
诈尸?
发表于 2014-9-23 18:45:47 | 显示全部楼层
我觉得楼主强烈需求一个批处理编写的备份管理软件,尽管它的核心是盗版的 rar.exe 。
So,带价联系我吧 ……
发表于 2014-9-24 17:46:04 | 显示全部楼层
你们太坏了,估计楼主又要明年才出现了。
 楼主| 发表于 2014-9-24 22:38:26 | 显示全部楼层
哪位帮我整下,谢谢了
发表于 2014-9-24 23:43:26 | 显示全部楼层
回复 14# wbyz20


借 6 楼代码小改一下
  1. @echo off
  2. set "rar=c:\program files\winrar\rar.exe"
  3. pushd "d:\abc"

  4. md "New" 2>nul
  5. for /f "delims=" %%a in ('dir /b /a-d ^| findstr /v ".rar$"') do (
  6.     if not exist "New\%%~na.rar" "%rar%" a -m5 "New\%%~na" "%%a"
  7. )

  8. start "" "New"
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 00:29 , Processed in 0.034032 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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