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

[文本处理] 批处理如何用dir命令列磁盘文件时排除一个或多个文件夹?

dir c:\  /b | findstr /v /x "WINDOWS"
这句可以排除WINDOWS目录(WINDOWS必须为大写)

可是加/s参数  dir /s c:\  /b | findstr /v /x "WINDOWS"  就不行 。。

我修改代码如下报错 此时不应有 “|”
for /f %%i in ('dir c:\  /b | findstr /v /x "WINDOWS"') do ('dir /s c:\%%i >1.txt')

问题:
如何用dir /s 列磁盘文件的时侯,排除一个或多个文件夹

原来如此 ..感谢版主!  in 里面的 应当是文本来处理来着...明白了 !!!

TOP

本帖最后由 newfish 于 2011-8-4 18:31 编辑

这段代码 总感觉鸡肋 的很.
鸡肋的原因
dir/s 会连带之前 dir 出来的文件   也就是会出现  dir /s c:\123.txt  但是在最后输出的时候并不能看到这些文件名,,特别苦恼!
求解决办法!
别且罗列出来的是追加出来的那种 和本身的 dir/s 输出的格式有出入 ~~~郁闷

TOP

这样写效率超级低..还不如不排除 windows..目录..

能否在不降低效率的情况下  dir /s c盘  并跳过 c盘下windows和它的子目录

TOP

返回列表