Board logo

标题: [文件操作] [已解决]批处理如何搜索指定扩展名/后缀名的文件并调用rar.exe对其进行压缩 [打印本页]

作者: hong751230    时间: 2009-9-23 00:06     标题: [已解决]批处理如何搜索指定扩展名/后缀名的文件并调用rar.exe对其进行压缩

本帖最后由 pcl_test 于 2016-9-29 12:01 编辑

e:\backup\及其子文件夹下都有大量的数据库备份(*.bak)文件,每一天会自动生成的,都在1G左右,利用rar压缩后仅有90兆左右,可节约大量空间,同时e:\backup\及其子文件夹下还有其他格式的文件。
请高手帮帮忙,写一个批处理,vbs也行,要求实现以下目的:
自动搜索e:\backup\及其子文件夹下的*。bak文件并调用winrar.exe进行压缩,压缩后的文件名为“原文件名.rar“,同时删除原文件,以节约磁盘空间。

另:
写一批处理,xcopy复制e:\backup\及其子文件夹下除*.bak文件以外的所有文件到 :\backup\

不管成不成功,先谢谢各位、

[ 本帖最后由 hong751230 于 2009-9-23 21:36 编辑 ]
作者: terse    时间: 2009-9-23 00:15

1G左右,利用rar压缩后仅有90兆?
作者: hong751230    时间: 2009-9-23 00:34

是的,且解压出来能正常使用,不然我不会这样兴师动众的找批处理了,那个bak是sql的备份文件。
作者: hong751230    时间: 2009-9-23 12:52

期待高手相助
作者: keen    时间: 2009-9-23 16:42     标题: 回复 1楼 的帖子

请使用本代码前,先备份原文件。以免发生不必要的损失。
再按照你机子上安装WINRAR的实际路径,改变代码中的D:\program files\WinRAR\rar.exe
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b .\*.bak') do "D:\program files\WinRAR\rar.exe" a -df "%%~ni.rar" "%%i"
  3. pause
复制代码
你第二个问题,把文件复制到 :\backup\
不知是什么路径。
作者: namejm    时间: 2009-9-23 19:30

  请不要试图在一个帖子里把你遇到的所有问题都抛出来,要做到专帖专用,不相关的问题请另开新帖求助。
作者: hong751230    时间: 2009-9-23 21:34

原帖由 keen 于 2009-9-23 16:42 发表
请使用本代码前,先备份原文件。以免发生不必要的损失。
再按照你机子上安装WINRAR的实际路径,改变代码中的D:\program files\WinRAR\rar.exe@echo off
for /f "delims=" %%i in ('dir /b .\*.bak') do "D:\progra ...


谢谢,我在别人的基础上改了个如下的批处理,基本解决,但不知道和你这个有什么不同。和您这个比起来那个更好,我就不懂了,呵呵。
for /r e:\backup\ %%i in (*.txt) do c:\progra~1\winrar\rar  a  -k -r -s -ibck -inul -df -m5 -t %%i.rar  %%i

第二个问题我也是改的别人的,基本实现了自动备份 c:\123\ 下除bak以外所有文件到d:\下的问题
for /r "c:\123\" %%I in (*)do ( if %%~xI neq .bak  xcopy /d /e /v /f /h /r /y /j  "%%I" "d:%%~pI" )
花了我一天一夜的时间,好像没什么问题。

望指点,谢谢。
作者: hong751230    时间: 2009-9-23 21:35

原帖由 namejm 于 2009-9-23 19:30 发表
  请不要试图在一个帖子里把你遇到的所有问题都抛出来,要做到专帖专用,不相关的问题请另开新帖求助。


受到,谢谢。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2