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

[其他] 【讨论】批处理中的 . *分别代表什么意思

"*.*"大家都会用,也都知道什么意思,但是这两个符号如果拆开呢?

将当前所有的txt文件的扩展名删除。
  1. C:\Users\helloworld\Desktop\520\12>ren *.txt *.
复制代码
正则表达式中“.”代表任意字符,“*”代表任意个数。

批处理中“.”就是普通字符“.”,“*”相当于正则表达式中的“.*”:任意个数的任意字符。

这个结论除了在
dir /s /b .
时无法解释,其它都是没问题的。

回复 5# weichenxiehou


    换行符不是两个字符吗?——\n,我也不是很懂,见笑了。

TOP

回复 8# lllsoslll


    你一条条的列,但却不能保证每条都描述正确:
:: 枚举当前目录树下所有文件,包括系统和隐藏的(正确说法:去掉隐藏)
for /r %a in (*)do @echo %a


证明:
C:\Users\helloworld\Desktop\520\12>for /r %a in (*)do @echo %a
C:\Users\helloworld\Desktop\520\12\1.txt
C:\Users\helloworld\Desktop\520\12\a.txt
C:\Users\helloworld\Desktop\520\12\hello_ world.txt

C:\Users\helloworld\Desktop\520\12>attrib +s +h 1.txt

C:\Users\helloworld\Desktop\520\12>for /r %a in (*)do @echo %a
C:\Users\helloworld\Desktop\520\12\a.txt
C:\Users\helloworld\Desktop\520\12\hello_ world.txt

TOP

返回列表