楼 主
帮忙解释一下这条命令
发表于 2023-04-10 08:07 · 中国 广东 肇庆 电信
新手上路
★
积分 10
发帖 4
注册 2007-01-25 17:48
UID 77653
性别 男
状态 离线
dir /b | find /v /c ":"
前面的能理解,后面的“:”是什么意思 呢?
第 2 楼
发表于 2023-04-14 12:59 · 中国 上海 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
UID 35785
性别 男
状态 离线
文件名中不能含有冒号,那么让 find 查找包含有 ":" 的文件名其实是找不到的,/v 参数就是查找不包含有 ":" 的文件名,因为所有的文件都不会包含有 ":" ,也就是 find 会列出所有文件名,/c 就是计数有多少个文件名。所以整个这条命令就是统计下当前目录下一共有多少个文件(和目录),仅输出个数字就可以了。
第 3 楼
发表于 2023-04-15 16:00 · 中国 广东 肇庆 电信
新手上路
★
积分 10
发帖 4
注册 2007-01-25 17:48
UID 77653
性别 男
状态 离线
C:\Users\zz>dir /b /ad /s |find /v /c ":"
0
C:\Users\zz>dir /b /ad /s |find /v /c "::"
7172
然后以看了一下说明,明白参数的做用了,
这个又是怎么回事呢?第一条执行不正确,第二第可以正常统计数量
当然,试了别的特殊符号,*?/等等都可以,但为什么第一条执行是不正常呢?
第 4 楼
发表于 2023-04-16 14:59 · 中国 上海 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
UID 35785
性别 男
状态 离线
你看看你第二次第一个命令与第一次命令的参数不同,dir /s /ad 表示只列目录和子目录,所列出的目录名是全名,都是带盘符的,而盘符是带冒号的,所以你让 find 去找不带 : 的字符当然是找不到了,当然结果为 0 了。明白了这点,那你第二条命令为什么能有正常统计结果也该明白了吧?
第 5 楼
发表于 2023-07-27 16:19 · 中国 北京 中国联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
建议把冒号删掉,这样就不用纠结到底写几个了。
dir /b | find /v /c ""
论坛跳转: