Board logo

标题: [文件操作] [已解决]批处理命令del通过重定向符号删除文本文件所列文件 [打印本页]

作者: freesoft00    时间: 2015-3-19 00:11     标题: [已解决]批处理命令del通过重定向符号删除文本文件所列文件

del 删除命令如何从文件读取要删除的文件。我记着可以用类似重定向来完成><还是|
文本文件list.txt
内容如下:
C:\QUARANTINE\7df3bf1f92ee0.bup
C:\QUARANTINE\7df216132c141960.bup
C:\QUARANTINE\7df216132e182420.bup
作者: DAIC    时间: 2015-3-19 08:26

  1. @echo off
  2. for /f "delims=" %%i in (list.txt) do (
  3.     if exist "%%i" (
  4.         del /f /q "%%i"
  5.     )
  6. )
复制代码

作者: pcl_test    时间: 2015-3-19 12:07

回复 1# freesoft00

问题得到解决后请在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html
作者: freesoft00    时间: 2015-3-19 12:44

感谢提供方法,这个for的方法我知道。我看到有些命令输入的时候可以从文本里面取需要的参数或者要操作的对象等。而我对重定向这个不是太理解。所以想请教一下是否有着各样的方法,下面的代码是错误的,我只是举例子:
del /f /q <file.txt
这样把file.txt文件中所列的文件都删除了。一行一个文件。
作者: CrLf    时间: 2015-3-19 13:06

回复 4# freesoft00


    好像木有这种用法
    不过想过去是挺爽的
作者: DAIC    时间: 2015-3-19 13:07

回复 4# freesoft00


    不是每个命令都支持那种用法的
作者: cobat    时间: 2015-3-19 13:14

回复 4# freesoft00


支持键盘输入的命令才可以用
比如
set /p input=
date
time
作者: CrLf    时间: 2015-3-19 13:25

回复 7# cobat


    del 也支持 stdin 输入,但好像只能是像 echo y | del xxxx 这样
作者: cobat    时间: 2015-3-19 13:36

本帖最后由 cobat 于 2015-3-19 13:47 编辑

回复 8# CrLf
  1. @echo off
  2. cd.>$
  3. echo y>a.txt
  4. pause
  5. del /p $<a.txt
  6. pause
复制代码

作者: CrLf    时间: 2015-3-19 14:15

回复 10# tigerpower


<filelist.txt 中间不能有空格哦
------------------------------------------------------------
也可以用 tmplinshi 的 do.bat,见 http://www.bathome.net/viewthread.php?tid=20477
  1. do.bat del "%%a" <filelist.txt
复制代码

作者: CrLf    时间: 2015-3-19 14:19

回复 10# cobat


    好吧,这样写确实更相似
作者: freesoft00    时间: 2015-3-19 22:51

好的,多谢了!谢谢各位!因为不太了解所以才有这个疑问,因为发现其它的有些命令有这样用的,以为del也可以呢,现在明白了。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2