Board logo

标题: 大好我是新手求助一个问题学长们请进 [打印本页]

作者: yanhcl     时间: 2008-5-27 10:58    标题: 大好我是新手求助一个问题学长们请进
目前我有一个文件夹(注:这个文件夹的位置不确定的)里面有五个文件夹, 文件夹1 文件夹2 文件夹3 文件夹4 文件夹5 每个文件夹里有若干个execl文件. 现在要实现 用rar 打包 (文件夹1 文件夹2 文件夹3 文件夹4 文件夹5 )这五个文件为一个文件 然后再清空(文件夹1 文件夹2 文件夹3 文件夹4 文件夹5 )五个文件夹内的execl文件. 请各位朋友帮助谢谢 急在线等 [ Last edited by yanhcl on 2008-5-27 at 11:00 AM ]

作者: HAT     时间: 2008-5-27 11:34
@echo off
set SrcDir=C:\test
set rarpath=C:\Program Files\WinRAR
for /l %%a in (1 1 5) do (
  "%rarpath%\rar.exe" a "%SrcDir%\a.rar" "%SrcDir%\Folder%%a\*.xls"
)
del /s /q "%SrcDir%\*.xls"

作者: yanhcl     时间: 2008-5-27 11:59    标题: 谢谢二楼的长学
但还有一个问题 我五个文件夹分别为 星期一 星期二 星期三 星期四 星期五 文件夹的位置是不确定的要怎么改动谢谢

作者: HAT     时间: 2008-5-27 13:32
用你的文件夹路径替换C:\test不行吗?
@echo off
set SrcDir=C:\test
set rarpath=C:\Program Files\WinRAR
for %%a in (一 二 三 四 五) do (
  "%rarpath%\rar.exe" a "%SrcDir%\a.rar" "%SrcDir%\星期%%a\*.xls"
)
del /s /q "%SrcDir%\*.xls"

作者: yanhcl     时间: 2008-5-27 14:22
还是不行 我按你的要求我改成C:\test xls文件是删了但没有打包成功

作者: pusofalse     时间: 2008-5-27 14:26
首先得确认RAR.EXE是不是在C盘。。。。 rar a 可以吗? 我一般都用rar -a - -||

作者: yanhcl     时间: 2008-5-27 14:28
我确定rar的路径是正确的但是不行

作者: HAT     时间: 2008-5-27 14:29
Originally posted by yanhcl at 2008-5-27 02:28 PM: 我确定rar的路径是正确的但是不行
Q: 为什么不行啊? A: 请列出自己的测试环境、测试用例、测试结果、报错信息。

作者: yanhcl     时间: 2008-5-27 14:32
没有打包成功 请列出自己的测试环境 xp sp3 office2000

作者: pusofalse     时间: 2008-5-27 14:48
把你运行的结果 一字不差的贴上来,否则没人能帮助你~ ^_^

作者: yanhcl     时间: 2008-5-27 14:57
这个运行是没有结果的啊 只是结果没有达到要求而以 用rar 打包 (星期一\星期二\星期三\星期四\星期五)这五个文件夹为一个文件 这一步没有成功 [ Last edited by yanhcl on 2008-5-27 at 02:58 PM ]

作者: pusofalse     时间: 2008-5-27 15:00
@echo off set SrcDir=C:\test set rarpath=C:\Program Files\WinRAR for %%a in (一 二 三 四 五) do ( "%rarpath%\rar.exe" a "%SrcDir%\a.rar" "%SrcDir%\星期%%a\*.xls" ) del /s /q "%SrcDir%\*.xls" pause 这样就有结果了。。。

作者: yanhcl     时间: 2008-5-27 15:11
Evaluation copy. Please register. Creating archive C:\test\a.rar WARNING: No files RAR 3.70 Copyright (c) 1993-2007 Alexander Roshal 22 May 2007 Shareware version Type RAR -? for help Evaluation copy. Please register. Creating archive C:\test\a.rar WARNING: No files RAR 3.70 Copyright (c) 1993-2007 Alexander Roshal 22 May 2007 Shareware version Type RAR -? for help Evaluation copy. Please register. Creating archive C:\test\a.rar Press any key to continue . . . 就没有生成压缩包

作者: pusofalse     时间: 2008-5-27 15:14
明白原因了。。你的意思是把星期一。。。到星期五这5个文件夹 放一个压缩包里,并不是这五个文件夹里的xls文件 是这样吧?

作者: yanhcl     时间: 2008-5-27 15:15
是的

作者: easonL     时间: 2008-5-27 15:16
为什么你删除文件的信息没有出来呢?

作者: easonL     时间: 2008-5-27 15:18
Evaluation copy. Please register. 貌似出来的信息不太一样呢,怎么回事? Updating archive c:\test\a.rar WARNING: No files Deleted file - c:\test\Folder1\1.xls Deleted file - c:\test\Folder2\1.xls Press any key to continue . . .

作者: pusofalse     时间: 2008-5-27 15:18
@echo off set rarpath=C:\Program Files\WinRAR for %%a in (一 二 三 四 五) do ( "%rarpath%\rar.exe" a "%SrcDir%\a.rar" "c:\test\星期%%a\" ) 把 test 换成那5个文件夹所在的目录就OK了

作者: yanhcl     时间: 2008-5-27 15:28
再请教一下困为我的东西要发给很多人 而他们所放的路径是不确定的 这样的话要怎么做

作者: easonL     时间: 2008-5-27 15:32
Originally posted by pusofalse at 2008-5-27 03:18 PM: @echo off set rarpath=C:\Program Files\WinRAR for %%a in (一 二 三 四 五) do ( "%rarpath%\rar.exe" a "%SrcDir%\a.rar" "c:\test\星期%%a\" ) 把 test 换 ...
这也OK?我怎么越看越不明白了,楼主的需求是什么啊? 能不能再说下啊,呵呵,糊涂着呢

作者: pusofalse     时间: 2008-5-27 15:34
图形界面 搜索 搜出来之后放一个文件夹里,运行上面的代码 OK

作者: yanhcl     时间: 2008-5-27 15:40
例:在A的文件夹中有 |--- 星期一|--1.xls | |--2.xls | |--- 星期二|--1.xls | |--2.xls | |--- 星期三|--1.xls | |--2.xls | |--- 星期四|--1.xls | |--2.xls | |--- 星期五|--1.xls | |--2.xls 五个文件夹,里面有一些xls文件 要求实现:把(星期一\星期二\星期三\星期四\星期五)这五个文件夹压缩成一个rar文件(当前月份为文件名) 然后删这五个文件夹里的xls文件 注:因为这个A的文件夹存放的位置不在固定的地方(也许是c:\ d:\ 不确定的) [ Last edited by yanhcl on 2008-5-27 at 03:44 PM ]

作者: easonL     时间: 2008-5-27 15:57    标题: 我也是菜鸟
@echo off REM 这里路径是C:\A,根据具体情况自己改 set SrcDir=C:\A set rarpath=C:\Program Files\WinRAR set current=%date:~0,4%%date:~5,2% for %%a in (一 二 三 四 五) do ( "%rarpath%\rar.exe" a "%SrcDir%\%current%.rar" "%SrcDir%\星期%%a\*.xls" ) del /s /q "%SrcDir%\*.xls" pause

作者: easonL     时间: 2008-5-27 15:59
哎呀,搞错了 应该是: "%rarpath%\rar.exe" a "%SrcDir%\%current%.rar" "%SrcDir%\星期%%a\"

作者: yanhcl     时间: 2008-5-27 16:13
WARNING: No files RAR 3.70 Copyright (c) 1993-2007 Alexander Roshal 22 May 2007 Registered to cafevn Creating archive C:\A\╨╟╞┌╢■ 00.rar WARNING: No files RAR 3.70 Copyright (c) 1993-2007 Alexander Roshal 22 May 2007 Registered to cafevn Creating archive C:\A\╨╟╞┌╢■ 00.rar WARNING: No files RAR 3.70 Copyright (c) 1993-2007 Alexander Roshal 22 May 2007 Registered to cafevn Creating archive C:\A\╨╟╞┌╢■ 00.rar WARNING: No files 还是不能成功那个压缩文件

作者: easonL     时间: 2008-5-27 16:19
怎么有乱码呢?你的系统是中文的吧?估计是我这边复制粘贴出的编码问题,你自己重新写一下,我的系统是日文的。 还有没有生成压缩文件,应该是你的文件夹里面没有文件,你添加点文件试试

作者: HAT     时间: 2008-5-27 16:52
楼上说的对,如果文件夹里面是空的,是不会被打包进去的,往里面放几个文件试试。

作者: easonL     时间: 2008-5-27 16:58
哥们,人呢,呵呵,总要有个结果吧? 还有删除文件的地方需要完善下,因为你只需要删除那 五个文件夹中的xls文件! del /s /q "%SrcDir%\*.xls"这句改成 for %%a in (一 二 三 四 五) do ( del /q/s "%SrcDir%\星期%%a\*.xls" 2>nul )

作者: yanhcl     时间: 2008-5-28 15:16
谢谢成功了

作者: yanhcl     时间: 2008-5-28 15:17
还有一个问题就是因为这个文件夹的位置是不确定的 可不可以自动获取当前路径 [ Last edited by yanhcl on 2008-5-28 at 03:27 PM ]

作者: easonL     时间: 2008-5-28 16:05    标题: 我也是菜鸟
Originally posted by yanhcl at 2008-5-28 03:17 PM: 还有一个问题就是因为这个文件夹的位置是不确定的 可不可以自动获取当前路径 [ Last edited by yanhcl on 2008-5-28 at 03:27 PM ]
set SrcDir=C:\A 就是设定目标文件夹的位置的啊?可以根据具体情况进行设置 不知道你的自动获取当前路径是什么意思