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

[其他] [已解决]批处理如何用管道操作删除文件夹?

请问这个代码为什么不行呢?
  1. echo fish|rd /s
复制代码

[ 本帖最后由 fish 于 2010-8-4 17:02 编辑 ]

那你也不能echo fish把...
echo y或者n

TOP

Re 1f

echo y | rd /s

TOP

echo y|rd fish

TOP

回复 4楼 的帖子

请问前辈能讲解一下原理吗?为什么我那么写不行呢?
授人以鱼不如授人以渔,多谢了。。。

TOP

echo y|rd fish /s
echo可以解释为传送Y到后面的命令中。
至于为什么输入y,是因为你的fish目录下还有其他的文件,所以在删除的时候需要输入Y确认下。
刚才又看下了rd的命令,他本身就带确认命令的/q就可以直接删除的。
rd fish /s /q

[ 本帖最后由 renmingwu 于 2010-8-3 16:16 编辑 ]

TOP

回复 6楼 的帖子

前辈并没有解释为什么我的写法不对啊,这样治标不治本啊。。。

TOP

rq /s 目录的时候会弹出个对话框,需要你确认:同意(输入y),否定(输入n)
echo y|rq /s 在这里的作用就是模拟了那个Y的输入。
echo fish|rq /s的意思就是当rq命令征询你意见的时候,你却回答它:fish,rq当然无法理解什么意思,所以命令就无法执行下去了。

TOP

回复 8楼 的帖子

但是卡卡西前辈,rd 的路径参数不是需要输入的吗?我这个fish文件夹的名字啊。

TOP

只输入rd然后回车,系统不要求你输入路劲,只显示命令语法错误。所以这个path是不能传递的,在写rd命令的时候就应该指定好路劲。echo y |是因为你删除文件夹,系统要你输入Y确认删除,所以可以通过前一命令的输出传递一个Y给rd命令来完成自动化处理。不过rd带/q参数,这样写就有点多余了。
努力学习,努力挣分

TOP

回复 10楼 的帖子

多谢前辈指点,基本明白了,总结一下就是说|前后两条语句必须均完整的前提下,前者输入作为后者输出,对吧?问题已解决,多谢关心此贴的各位前辈。。。

TOP

具体ECHO 谁要看命令本身要你输入什么参数!~

TOP

返回列表