Board logo

标题: [文件操作] 批处理for命令如何显示隐藏文件夹的文件名? [打印本页]

作者: querty006    时间: 2009-3-21 13:07     标题: 批处理for命令如何显示隐藏文件夹的文件名?

用for  /d  默认显示的是当前目录中的目录名,但是不能显示隐藏的,要怎么样才能实现?
作者: yslyxqysl    时间: 2009-3-21 13:20

  1. For /F "delims=" %%i in ('dir /a /b') do echo %%i
复制代码

作者: batman    时间: 2009-3-21 13:23

for本身不是一个对文件的操作命令,它实现的是把其他命令进行循环,要显示隐藏文件夹,
得用dir命令:dir /ad /b(列出当前目录下所有文件夹含隐藏文件夹的名称)。

[ 本帖最后由 batman 于 2009-3-21 13:26 编辑 ]
作者: 随风    时间: 2009-3-21 14:47

3 楼说的应该是 for /f 吧
用 for 遍历文件(夹)速度可能更快
  1. @echo off
  2. ::遍历目录,含子目录,不含隐藏目录
  3. for /d /r %%a in (*) do if exist "%%a" echo %%a
  4. ::遍历目录,含子目录,含隐藏目录
  5. for /r %%a in (.) do if exist "%%a" echo %%a
  6. ::遍历文件,不含子文件夹,不含隐藏文件
  7. for %%a in (*) do if exist "%%a" echo %%a
  8. ::遍历文件,含子文件夹,不含隐藏文件
  9. for /r %%a in (*) do if exist "%%a" echo %%a
  10. pause
复制代码

作者: querty006    时间: 2009-3-21 20:02

二楼的把文件和文件夹一块显示了。。(我只想显示所有的文件夹的名称)
4楼的是很不错,但是没达到我想要的那样。。。
在此谢谢各位!
还有更好的方法吗?
作者: Batcher    时间: 2009-3-21 20:17     标题: 回复 5楼 的帖子

你想要的是哪样?
作者: yolila    时间: 2010-6-20 12:27

搜索到这里来了。
  1. For /F "delims=" %%i in ('dir /aD /b') do echo %%i
复制代码

[ 本帖最后由 yolila 于 2010-6-20 12:31 编辑 ]
作者: rogue_1983    时间: 2010-6-20 15:34     标题: 看这样行吗?

@echo off
for %%i in (i) do dir c:\ d:\ e:\ echo %%i
pause   
不知道能想要列出那个盘的文件夹?我这里只写了c:d:e:三个的

[ 本帖最后由 rogue_1983 于 2010-6-20 16:03 编辑 ]
作者: yunyan100    时间: 2018-1-17 00:03

本帖最后由 yunyan100 于 2018-1-17 00:05 编辑

回复 4# 随风


    搜索到你的回复,看你的回复中for只可以显示隐藏文件夹(不用dir),就是不能显示隐藏文件是吗?
我用的下面两个显示文件和文件夹,但当没有的时候会显示错误,所以我想在不用dir(不用就不会显示错误),就用for能不能显示隐藏文件和文件夹,或者用>nul 2>nul能屏蔽dir的错误吗?我有试过,但是出错
  1. for /f "tokens=*" %%a in ('dir/b/ad "%pat%\*"')
复制代码
  1. for /f "delims=" %%a in ('dir/b/a-d "%pat%\*.%ee%"')
复制代码





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