第 16 楼
发表于 2008-10-27 15:06 · 中国 黑龙江 大庆 联通
高级用户
★★
积分 547 发帖 261 注册 2006-04-15 16:50 20年会员 UID 53887
状态 离线
Originally posted by tireless at 2008-10-27 11:30:
额..你先用 echo,看被删除的文件对不对。
@echo off
set /p filename=请输要删出的文件名:
for %%a in (c: d:) do (
for /f "del ...
又一个测试中的问题:
我在批处理文件所在的目录建立了1.txt和2.txt,随便在其他的某个磁盘下也建立了1.txt和2.txt,其中2.txt是隐藏的,但奇怪的是只删除:
1.txt和批处理目录下的2.txt,但另一个2.txt没删除,当我再次运行批处理删除这个隐藏属性的2.txt可以删除,为什么删除不是一次性的?
第 17 楼
Re 16 楼
发表于 2008-10-27 15:30 · 中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
我测试能删除。输入 1.txt;2.txt 或 1.txt 2.txt 都可以。
@echo off
set /p filename=请输要删出的文件名:
for %%a in (c: d:) do (
for /f "delims=" %%b in ('dir /s /b /a:-d %%a\%filename% 2^>nul') do (
del /F "%%b" 2>nul
del /F /a:h "%%b" 2>nul
)
)
pause
[
Last edited by tireless on 2008-10-27 at 15:32 ]
第 18 楼
发表于 2008-10-27 15:42 · 中国 黑龙江 大庆 联通
高级用户
★★
积分 547 发帖 261 注册 2006-04-15 16:50 20年会员 UID 53887
状态 离线
我也测试了多遍啊!同批处理在一个目录下的文件没问题,但其它盘符下的隐藏文件就不能一次性删除,麻烦您在测试一下好吗?当然,我也得在测试测试!
第 19 楼
发表于 2008-10-27 15:48 · 中国 黑龙江 大庆 联通
高级用户
★★
积分 547 发帖 261 注册 2006-04-15 16:50 20年会员 UID 53887
状态 离线
我又测试了一遍,还是不行。
测试条件:
1。C盘下有1.txt和2.txt,2.txt是隐藏的;
2。D盘下有1.txt和2.txt,2.txt是隐藏的,批处理文件也在D盘下。
执行:
双击批处理文件,无论输入1.txt 2.txt还是1.txt;2.txt,测试结果都相同。
测试结果:
C盘下的1.txt删除掉;
D盘下的有1.txt和2.txt都删除掉了。
C盘下的隐藏文件2.txt没有被删除。
第 20 楼
发表于 2008-10-27 16:05 · 中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
抱歉,我也不知道为什么,确实会出现你说的情况。改成这样就可以:
@echo off
set /p filename=请输要删出的文件名:
for %%a in (c: d:) do (
cd /d %%a\
for /f "delims=" %%b in ('dir /s /b /a:-d %filename% 2^>nul') do (
del /F "%%b" 2>nul
del /F /a:h "%%b" 2>nul
)
)
[
Last edited by tireless on 2008-10-27 at 16:07 ]
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正