[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

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

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

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

TOP

回复 1# freesoft00

问题得到解决后请在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html

TOP

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

TOP

回复 4# freesoft00


    好像木有这种用法
    不过想过去是挺爽的

TOP

回复 4# freesoft00


    不是每个命令都支持那种用法的

TOP

回复 4# freesoft00


支持键盘输入的命令才可以用
比如
set /p input=
date
time

TOP

回复 7# cobat


    del 也支持 stdin 输入,但好像只能是像 echo y | del xxxx 这样

TOP

本帖最后由 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
复制代码

TOP

回复 10# tigerpower


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

TOP

回复 10# cobat


    好吧,这样写确实更相似

TOP

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

TOP

返回列表