中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-16 06:26
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 把多文件在多文件夾間複制以及排除法刪除問題 查看 834 回复 2
楼 主 把多文件在多文件夾間複制以及排除法刪除問題 发表于 2008-05-07 20:03 ·  中国 辽宁 锦州 电信
初级用户
积分 64
发帖 46
注册 2008-04-21 14:54
18年会员
UID 116504
性别 男
状态 离线
::把多文件在多文件夾間複制以及排除法刪除問題
::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

帖子看了不少,苦於太 菜,實在弄不出來。
求高手幫忙,兩次動作各用一個語句完成。
2 发表于 2008-05-07 20:18 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
就2个文件夹排除……不要用for,直接写2边算了……

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

[ Last edited by slore on 2008-5-7 at 09:20 PM ]
3 第二句 发表于 2008-05-24 02:49 ·  中国 辽宁 锦州 联通
中级用户
★★
积分 228
发帖 106
注册 2008-04-26 12:34
18年会员
UID 117003
性别 男
状态 离线
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 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
stance +2 2008-05-27 17:47
论坛跳转: