|
tuesposo
初级用户
 
积分 68
发帖 28
注册 2006-12-29
状态 离线
|
『楼 主』:
如果1个文件夹里有*.txt或*.exe则把该文件夹压缩
我想实现这个功能:
如果1个文件夹里有*.txt或*.exe,则把该文件夹压缩为.rar文件,压缩完后并把这个原文件夹删除,这个功能应该如何实现啊?
注:不包含子文件夹,如一级文件夹--二级文件夹--三级文件夹---5.txt
则把三级文件夹压缩为三级文件夹.rar,压缩完后并把原三级文件夹删除.
一级文件夹和二级文件夹不用动.
这个有办法做吗?
|
|
2007-1-17 04:07 |
|
|
redtek
金牌会员
     
积分 2902
发帖 1147
注册 2006-9-21
状态 离线
|
『第
2 楼』:
RAR的 /DF 参数(生成压缩档案后删除文件)就支持压缩完目标文件或文件夹以后将其删掉。
所以,压缩以后的删除目录的工作不用交给DOS命令去做,让rar去做就行了,/DF参数支持。
RAR的 /R 参数支持压缩指定目录以内这个目录内所有子目录。
假如我要压缩 “C:\TEMP\STR” 这个目录以及它下面的所有子目录。
C:\TEMP\STR 目录结构如下:
C:\TEMP
├─str
│ └─Demo 使用 rar.exe 操作过程:
C:\>rar a /r /df demo c:\temp\str
RAR 3.00 版权 (c) 1993-2002 为 Eugene Roshal 所有 14 May 2002
共享软件版本 键入 RAR -? 可获得帮助
评估版,请注册。
正在创建 压缩档案 demo.rar
正在添加 c:\temp\str 搞定
正在添加 c:\temp\str\a.txt 搞定
正在添加 c:\temp\str\Demo 搞定
正在添加 c:\temp\str\Demo\a.txt 搞定
正在添加 c:\temp\str\Demo\read.txt 搞定
正在添加 c:\temp\str\Demo\run.bat 搞定
正在添加 c:\temp\str\Demo\s.bat 搞定
正在添加 c:\temp\str\read.txt 搞定
正在添加 c:\temp\str\run.bat 搞定
正在添加 c:\temp\str\s.bat 搞定
正在删除 c:\temp\str\s.bat 已经删除
正在删除 c:\temp\str\run.bat 已经删除
正在删除 c:\temp\str\read.txt 已经删除
正在删除 c:\temp\str\Demo\s.bat 已经删除
正在删除 c:\temp\str\Demo\run.bat 已经删除
正在删除 c:\temp\str\Demo\read.txt 已经删除
正在删除 c:\temp\str\Demo\a.txt 已经删除
正在删除目录 c:\temp\str\Demo
正在删除 c:\temp\str\a.txt 已经删除
正在删除目录 c:\temp\str
完成 当执行完以后,C:\TEMP\STR 目录被压缩以后,由RAR自动将其删掉了。
如果你只希望压缩当前指定的目录文件夹,而不希望压缩目录文件夹内的子目录,则rar压缩时无需加 /r 参数即可。
更详细的 rar 命令行操作详见它的帮助信息: RAR /?
(另: rar.exe 在 WinRAR 目录中,系统没有给它设置路径。所以要在任何地方运行它请为其所在目录设置路径,或将 rar.exe 拷贝到 Windows 目录下就可以不用设置路径了)
(注:上面只是可行操作原理。关于具体的实际代码兄可以继续研究~:)
[ Last edited by redtek on 2007-1-16 at 03:43 PM ]
|

Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._ |
|
2007-1-17 04:39 |
|
|
zh159
金牌会员
     
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第
3 楼』:
dir/s *.exe *.txt>nul 2>nul&&rar ......
|
|
2007-1-18 23:44 |
|
|
tuesposo
初级用户
 
积分 68
发帖 28
注册 2006-12-29
状态 离线
|
|
2007-1-19 00:01 |
|
|
zh159
金牌会员
     
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第
5 楼』:
不会自己加上路径么?
dir/s c:\temp\str *exe *.txt>nul 2>nul&&rar a /r /df demo c:\temp\str
|
|
2007-1-19 00:17 |
|
|
tuesposo
初级用户
 
积分 68
发帖 28
注册 2006-12-29
状态 离线
|
『第
6 楼』:
还是不行,不是路径的问题,好象对这个文件夹也是一个变量的问题
|
|
2007-1-19 02:25 |
|
|
zh159
金牌会员
     
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第
7 楼』:
你得用for将各个文件夹单独一个个列出来(完整路径)再
获取子目录路径:dir/s/ad/b 路径
dir “%路径%” *exe *.txt>nul 2>nul&&rar a /r /df demo “%路径%”
[ Last edited by zh159 on 2007-1-18 at 01:39 PM ]
|
|
2007-1-19 02:35 |
|
|
zerocq
中级用户
  
积分 458
发帖 196
注册 2006-10-5
状态 离线
|
『第
8 楼』:
在一级目录命令窗口输入
for /f "delims=的" %a in ('dir /a/s *.txt^|find ":\"') do @echo %a
把含有txt文件的子目录全设成变量然后rar
[ Last edited by zerocq on 2007-1-19 at 02:52 AM ]
|
|
2007-1-19 02:51 |
|
|
tuesposo
初级用户
 
积分 68
发帖 28
注册 2006-12-29
状态 离线
|
|
2007-1-19 03:04 |
|
|
tuesposo
初级用户
 
积分 68
发帖 28
注册 2006-12-29
状态 离线
|
『第
10 楼』:
谁好帮我完整写出来啊,我是新手不懂啊
|
|
2007-1-19 03:13 |
|
|
zh159
金牌会员
     
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第
11 楼』:
命令行:
for /f "delims=的" %a in ('dir /a/s *.txt *.exe^|find ":\"') do rar a /r /df demo %a
批处理:
for /f "delims=的" %%a in ('dir /a/s *.txt *.exe^|find ":\"') do rar a /r /df demo %%a
|
|
2007-1-19 03:28 |
|
|
tuesposo
初级用户
 
积分 68
发帖 28
注册 2006-12-29
状态 离线
|
|
2007-1-19 03:43 |
|
|
everest79
金牌会员
      一叶枝头,万树皆春
积分 2564
发帖 1127
注册 2006-12-25
状态 离线
|
『第
13 楼』:
@echo off
(for /f "tokens=2*" %%i in ('reg query "HKCR\.rar\shellnew" /v filename^|find "rarnew.dat"') do set rar="%%~dpjrar.exe")2>nul||goto end
for /r F: %%i in (.) do pushd "%%~fi"&dir *.exe;*.txt>nul 2>nul&&echo rar a /r /df "%%~dpi%%~ni.rar" "%%~fi"
pause
|
|
2007-1-19 05:36 |
|