Board logo

标题: 请问如何删除特定行的文件? [打印本页]

作者: aceonly     时间: 2010-12-21 16:12    标题: 请问如何删除特定行的文件?

检查指定文件夹,如果发现里面的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))
作者: aceonly     时间: 2010-12-22 16:16
有人帮忙看一下吗?谢谢了
作者: aceonly     时间: 2010-12-22 17:22
是不是我的问题太简单了还是没说明白?
假设一个目录里面有很多TXT文件:

文件A:
123
456
123456


文件B:
123
888
88456

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

有谁可以帮忙一下吗?或者给个提示,我这方面很菜。。。
作者: DOSroot     时间: 2010-12-24 00:04
看看你有没有发错地方:
http://www.cn-dos.net/forum/viewthread.php?tid=46409
作者: HAT     时间: 2010-12-26 16:14
如果你用的是DOS系统,它的for命令是不支持/f的。
作者: DOSforever     时间: 2010-12-26 21:55
确切的说,是 DOS 自带的 COMMAND 的 FOR 命令不支持 /f 参数。如果用 4DOS 做命令解释器是支持的。