中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 17:18
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 把多文件在多文件夾間複制以及排除法刪除問題
可打印版本  856 / 2
第1楼 stance 发表于 2008-05-07 20:03
初级用户 发帖 46 积分 64
把多文件在多文件夾間複制以及排除法刪除問題
::把多文件在多文件夾間複制以及排除法刪除問題
::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楼 slore 发表于 2008-05-07 20:18
铂金会员 发帖 2,478 积分 5,212
就2个文件夹排除……不要用for,直接写2边算了……

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

[ Last edited by slore on 2008-5-7 at 09:20 PM ]
第3楼 nipo 发表于 2008-05-24 02:49
中级用户 发帖 106 积分 228
第二句
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 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023