Board logo

标题: [文件操作] 删除空文件夹的BAT代码for /f的为何出错? [打印本页]

作者: wycsf    时间: 2013-1-24 21:42     标题: 删除空文件夹的BAT代码for /f的为何出错?

  1. set path=c
  2. for /f "tokens=" %%a in ('dir x: /b /ad /s ^|sort /r') do echo "%%a"
复制代码
代码如上,看是去2条无关的代码,运行却提示:'sort' 不是内部或外部命令,也不是可运行的程序,不管path后面是什么值或者是空值都会出现此提示,请问是什么问题?
另外我想删除c,d,e盘下的空文件夹,请问使用一两条代码能够实现吗?
作者: batman    时间: 2013-1-24 22:33

因为你改变了系统环境变量path的值,系统在你定义的c下是找不到sort.exe的
作者: BAT-VBS    时间: 2013-1-24 22:58

  1. @echo off
  2. for %%i in (c d e) do (
  3.     for /f "tokens=" %%j in ('dir %%i: /b /ad /s ^| sort /r') do (
  4.         echo "%%j"
  5.     )
  6. )
复制代码

作者: wycsf    时间: 2013-1-27 10:08

谢谢2位大侠精彩的回复
作者: BAT-VBS    时间: 2013-1-27 12:20

回复 4# wycsf


    问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。




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