Board logo

标题: [其他] [已解决]批处理如何用管道操作删除文件夹? [打印本页]

作者: fish    时间: 2010-8-2 04:40     标题: [已解决]批处理如何用管道操作删除文件夹?

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

[ 本帖最后由 fish 于 2010-8-4 17:02 编辑 ]
作者: canyuexiaolang    时间: 2010-8-2 07:57

那你也不能echo fish把...
echo y或者n
作者: vfcai    时间: 2010-8-2 09:42     标题: Re 1f

echo y | rd /s
作者: renmingwu    时间: 2010-8-2 09:56

echo y|rd fish
作者: fish    时间: 2010-8-2 15:32     标题: 回复 4楼 的帖子

请问前辈能讲解一下原理吗?为什么我那么写不行呢?
授人以鱼不如授人以渔,多谢了。。。
作者: renmingwu    时间: 2010-8-3 16:05

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

[ 本帖最后由 renmingwu 于 2010-8-3 16:16 编辑 ]
作者: fish    时间: 2010-8-3 20:57     标题: 回复 6楼 的帖子

前辈并没有解释为什么我的写法不对啊,这样治标不治本啊。。。
作者: TX_kakashi    时间: 2010-8-3 22:26

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

但是卡卡西前辈,rd 的路径参数不是需要输入的吗?我这个fish文件夹的名字啊。
作者: sgaizxt001    时间: 2010-8-4 01:41

只输入rd然后回车,系统不要求你输入路劲,只显示命令语法错误。所以这个path是不能传递的,在写rd命令的时候就应该指定好路劲。echo y |是因为你删除文件夹,系统要你输入Y确认删除,所以可以通过前一命令的输出传递一个Y给rd命令来完成自动化处理。不过rd带/q参数,这样写就有点多余了。
作者: fish    时间: 2010-8-4 17:02     标题: 回复 10楼 的帖子

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

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




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