中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-19 15:22
47,814 主题排行 / 349,908 发帖 / 今日 0 篇 / 48,259 会员排行
DOS疑难解答 & 问题讨论 (解答室) » 帮忙解释一下这条命令
可打印版本  2,200 / 4
第1楼 zh32 发表于 2023-04-10 08:07
新手上路 发帖 4 积分 10
帮忙解释一下这条命令
dir /b | find /v /c ":"
前面的能理解,后面的“:”是什么意思 呢?
第2楼 DOSforever 发表于 2023-04-14 12:59
金牌会员 发帖 2,239 积分 4,639
文件名中不能含有冒号,那么让 find 查找包含有 ":" 的文件名其实是找不到的,/v 参数就是查找不包含有 ":" 的文件名,因为所有的文件都不会包含有 ":" ,也就是 find 会列出所有文件名,/c 就是计数有多少个文件名。所以整个这条命令就是统计下当前目录下一共有多少个文件(和目录),仅输出个数字就可以了。
第3楼 zh32 发表于 2023-04-15 16:00
新手上路 发帖 4 积分 10
C:\Users\zz>dir /b /ad /s |find /v /c ":"
0

C:\Users\zz>dir /b /ad /s |find /v /c "::"
7172

然后以看了一下说明,明白参数的做用了,
这个又是怎么回事呢?第一条执行不正确,第二第可以正常统计数量
当然,试了别的特殊符号,*?/等等都可以,但为什么第一条执行是不正常呢?
第4楼 DOSforever 发表于 2023-04-16 14:59
金牌会员 发帖 2,239 积分 4,639
你看看你第二次第一个命令与第一次命令的参数不同,dir /s /ad 表示只列目录和子目录,所列出的目录名是全名,都是带盘符的,而盘符是带冒号的,所以你让 find 去找不带 : 的字符当然是找不到了,当然结果为 0 了。明白了这点,那你第二条命令为什么能有正常统计结果也该明白了吧?
第5楼 HAT 发表于 2023-07-27 16:19
版主 发帖 5,017 积分 9,023
建议把冒号删掉,这样就不用纠结到底写几个了。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023