![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 14:56 |
共 47,811 主题排行 / 349,896 发帖 / 今日 1 篇 / 48,254 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求助:压缩时怎样选择这些文件? |
| 可打印版本 828 / 6 |
| 第1楼 qwertl | 发表于 2008-08-28 10:46 |
| 中级用户 发帖 243 积分 461 | |
|
求助:压缩时怎样选择这些文件? 只需备份d:\Data\下的*.ini,*.id,*.nsf,*.ndk及其子文件夹dgoa,bmmail,mail的全部文件进行备份,data目录下的其它文件及子目录不需要备份.
想用rar将这些文件压缩后再上传FTP备份.压缩指令怎样将这些文件及子目录一次选中进行压缩生成一个压缩包呢? %rar_% a -r -agYYYYMMDD-NN -n*.ini -n*.id -n*.nsf -n*.ndk "%desfolder%\lotus" "%SrcFolder%\*.*" 这样选择文件不对. [ Last edited by qwertl on 2008-8-28 at 10:49 AM ] |
|
| 第2楼 qwertl | 发表于 2008-08-28 11:14 |
| 中级用户 发帖 243 积分 461 | |
|
用多条RAR命令每次选不同的目录压缩到一个包, 这样就不能用-agYYYYMMDD-NN 开关了.
开关 -N<文件> - 仅包含指定的文件 -------------------------------------------------------------------------------- 仅包含指定的文件。通配符在文件掩码的名称和文件部分都可用。你可以数次指定开关‘ -n’。此关不能替换通常的文件掩码,仍然需要在命令行中输入。它是一个附加的过滤器限制处理的文件那些仅匹配在杗 开关中指定掩码的文件。某些时候它可以帮助减少命令行的长度。 例如,如果你需要压缩在 Project 和 Info 文件夹内的所有的 *.txt 和 *.lst 文件,你可以输入 : WinRAR a -r text Project\*.txt Project\*.lst Info\*.txt Info\*.lst 或使用开关 -n: WinRAR a -r -n*.txt -n*.lst text Project Info 开关 -N@<列表文件> - 使用指定的列表文件包含文件 -------------------------------------------------------------------------------- 和 -n<文件> 开关类似,但是从列表文件读取掩码 例子: WinRAR a -r -n@inclist.txt text Project Info |
|
| 第3楼 moniuming | 发表于 2008-08-28 11:33 |
| 银牌会员 发帖 574 积分 1,335 来自 广西 | |
|
试试这个? 如果rar安装目录不一样,请做适当的更改
|
|
| 第4楼 qwertl | 发表于 2008-08-28 21:35 |
| 中级用户 发帖 243 积分 461 | |
|
for的功能真强 , 这是叫双循环吗
还有没有方法一条语句搞定呢 |
|
| 第5楼 HAT | 发表于 2008-08-28 21:39 |
| 版主 发帖 5,017 积分 9,023 | |
|
可以,你把3楼的代码用&连成一句就行了。
|
|
| 第6楼 qwertl | 发表于 2008-08-29 10:02 |
| 中级用户 发帖 243 积分 461 | |
|
怎样设置变量让批处理可以放任意目录呢?
是这样吗? @echo off rem 请放在d:\data\目录下运行 set srcdir=d:\data set rar_="c:\program files\winrar\rar.exe" for %%a in (ini id nsf ndk) do ( %rar_% a temp.rar %srcdir%\*.%%a ) for %%a in (dgoa bmmail mail) do ( for /f "delims=" %%b in ('dir /s/b/a-d "%srcdir%\%%a\*.*"') do ( %rar_% a -ep1 temp.rar %%b ) ) echo.&echo 任务完成 ping -n 4 127.1>nul for %%a in (dgoa bmmail mail) 这个括号里每个目录是否要加%srcdir% 呢?好象是只能是文本. [ Last edited by qwertl on 2008-8-29 at 10:16 AM ] |
|
| 第7楼 HAT | 发表于 2008-08-29 17:30 |
| 版主 发帖 5,017 积分 9,023 | |
|
括号里每个目录不要加%srcdir%
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |