中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 把多文件在多文件夾間複制以及排除法刪除問題
作者:
标题: 把多文件在多文件夾間複制以及排除法刪除問題 上一主题 | 下一主题
stance
初级用户





积分 64
发帖 46
注册 2008-4-21
状态 离线
『楼 主』:  把多文件在多文件夾間複制以及排除法刪除問題

::把多文件在多文件夾間複制以及排除法刪除問題
::E:\Downloads\DOS\INI目錄下有很多文件和文件夾。
::先把名稱中含有dini字符串的文件和文件夾複制到C:\Down\folder文件夾,同時將其餘文件複制到C:\Down\box文件夾。
::然後,把C:\Down\下folder、box目錄中的4個指定文件Read.INI.cmd、readINI.cmd、inifile.cmd、Server.cmd保留下來,其餘文件和文件夾都刪掉。
::試了N遍FOR語句,不能實現一句複制,好採取這種笨辦法:先全部複制到C:\Down\box,再將*dini*.*移動到C:\Down\folder

xcopy /i /e /y E:\Downloads\DOS\INI\*.* C:\Down\box
move /q C:\Down\box\*dini*.* C:\Down\folder
echo.
::下面的語句屢試不成功:
for /f %%p in ("C:\Down\folder C:\Down\box") DO (
        for /f "tokens=3 delims=\" %%a in ('dir /b %%p^|findstr /v "Read.INI.cmd readINI.cmd inifile.cmd Server.cmd"') do (
        if exist %%p\%%a del /f /q %%p\%%a
        if exist %%p\%%a rd /s /q %%p\%%a
))
dir /s C:\Down

帖子看了不少,苦於太 菜,實在弄不出來。
求高手幫忙,兩次動作各用一個語句完成。

2008-5-7 20:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

就2个文件夹排除……不要用for,直接写2边算了……

用for的话要开启变量延时……

[ Last edited by slore on 2008-5-7 at 09:20 PM ]

2008-5-7 20:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
nipo
中级用户





积分 228
发帖 106
注册 2008-4-26
状态 离线
『第 3 楼』:  第二句

for /f %%p in (folder box) DO (
        for /f "delims=" %%a in ('dir /b /s E:\Downloads\%%p^|findstr /v "Read.INI.cmd readINI.cmd inifile.cmd Server.cmd"') do if exist %%a del /f /q %%a &if exist %%a rd /s /q %%a
))

[ Last edited by nipo on 2008-5-24 at 02:58 AM ]

   此帖被 +2 点积分    点击查看详情   
评分人:【 stance 分数: +2  时间:2008-5-27 17:47


2008-5-24 02:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: