中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-15 14:01
47,813 主题排行 / 349,903 发帖 / 今日 1 篇 / 48,257 会员排行
DOS疑难解答 & 问题讨论 (解答室) » 请问如何删除特定行的文件?
可打印版本  1,954 / 5
第1楼 aceonly 发表于 2010-12-21 16:12
新手上路 发帖 3 积分 8
请问如何删除特定行的文件?
检查指定文件夹,如果发现里面的TXT文件的某一行为HHHHHHH的,就立马删除这个文件。

如果HHHHHHH出现在其他行里面的话,那就可以忽略的。下面的代码好像不能解决我的问题啊,哪位肯帮忙看一下? 谢谢

set old=d:\test
set SRT1=HHHHHHH

for /f "delims=" %%c in ('dir /b /s /a-d "%old%\*.txt"') do (
for /f "delims=" %%d in (%%c) do (
if *%%d*==*%STR1%* del %%c))
第2楼 aceonly 发表于 2010-12-22 16:16
新手上路 发帖 3 积分 8
有人帮忙看一下吗?谢谢了
第3楼 aceonly 发表于 2010-12-22 17:22
新手上路 发帖 3 积分 8
是不是我的问题太简单了还是没说明白?
假设一个目录里面有很多TXT文件:

文件A:
123
456
123456


文件B:
123
888
88456

如果给个特定字符串456, 那文件A就应该被删除,因为第二行正好就是456. 而文件B就不用删除,因为456只是它第3行的部分。

有谁可以帮忙一下吗?或者给个提示,我这方面很菜。。。
第4楼 DOSroot 发表于 2010-12-24 00:04
管理员 发帖 198 积分 389
第5楼 HAT 发表于 2010-12-26 16:14
版主 发帖 5,017 积分 9,023
如果你用的是DOS系统,它的for命令是不支持/f的。
第6楼 DOSforever 发表于 2010-12-26 21:55
金牌会员 发帖 2,239 积分 4,639
确切的说,是 DOS 自带的 COMMAND 的 FOR 命令不支持 /f 参数。如果用 4DOS 做命令解释器是支持的。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023