cmd 备忘
来源:互联网 发布:重庆seo外包公司费用 编辑:程序博客网 时间:2024/05/18 04:01
1.删除svn目录
for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q"%%a\.svn"
2.重名名文件
for /F "tokens=1 delims=." %i in ('dir /A:-D /S /B') do move"%i.doc" "%i.txt"
"delims=."
tokens=1
3.
for /F "tokens=*" %i in ('dir /A:-D /S /B') do move "%i""%i.txt"
“For /f”
一句话总结:解析文本,读取字符串。
Delims的语法:
FOR /F
一句话总结:忽略分隔符,切分字符串。
delims的意义包括两个方面:
第一、指定原文中的标点符号作为分隔符。使得文本被划分为许多小部分,方便使用批处理命令读取和编辑。
第二、读取第一个分隔符之前的内容。忽略第一个分隔符和分隔符后面的内容,如需读取和编辑,需要使用tokens等命令。
注意分隔符和标点符号的联系和区别。
分隔符就是原文中的标点符号,可以是一个标点符号也可以是多个。但原文中的标点符号不一定是分隔符。并且分隔符不一定是标点符号,字母和中文也是可以用作分隔符的。
分隔符需要定义,即用”delims=”来指定,等于号后面跟被用来做分隔符的标点符号,该标点符号来自原文。
当有多个标点符号被定义为分隔符时,标点符号之间没有空格。当用空格做分隔符时,空格应该放在其它用作分隔符的标点符号之后。
即使不使用delims,默认情况下,批处理也将空格作为分隔符。如文件名“ProgramFiles”中含有空格时,批处理一般只读取空格前的“Program”,剩下的“Files”被忽略了。
例:
代码9:空格默认作为分隔符
@echooff
for/f "delims=" %%a in ("伟大的中国人民万岁 万岁 万万岁") do echo%%a
pause>nul
运行结果:
伟大的中国人民万岁 万岁万万岁
讲解:
“delims=”等号后面没有空格,代表取消默认以空格作为分隔符,相当于“tokens=*”,提取全部字符;等号后面有空格时表示定义空格为分隔符,此时delims可以省略。
批处理默认空格是分隔符,分隔符会隐藏第一个分隔符后面的所有内容。为了显示完整的信息,所以有必要取消该功能。
因此,当文件名或路径中含有空格时,需要用双引号括住。如果不使用双引号,括号内的内容将被当做文件名,如果文件名不存在,将提示“系统找不到……”。
如果不使用“delims=”,即使使用双引号,也只能显示第一个空格前面的字符串,后面的字符串将被默认忽略。
Tokens的语法:
FOR /F
一句话总结:提取列。
Tokens的意义就是,提取指定的列。
注意列与句的联系与区别。
文本内容由许多文字字符串组成,它们被标点符号分隔,两个标点符号之间的语句我们称为“句子”。
当标点符号被“tokens=”指定为分隔符之后,文字将被分成多个部分。对应的每行的每个部分我们称之为“列”。
一列可能是一个句子,也可能包含多个句子,视delims定义的标点符号而定。
其它方面:关于“行”的提取,前面做过一个很简单的:
pause
- cmd 备忘
- oracle 入门备忘
- oracle 入门备忘
- mysql sql备忘
- Linux 常用命令备忘
- android 学习指南备忘
- cmd mysql 常用命令
- oracle 入门备忘 3
- iOS push 相关知识备忘
- oracle 入门备忘2
- 用cmd跑java程序(备忘)
- iOS Mutable集合“古怪”问题备忘
- 运行 CMD竟然转不了目录
- 运行 CMD竟然转不了目录
- Cmd命令行 输入法不可用
- 必须掌握的八个【cmd 命令行】
- CMD 不支持将UNC 路径作为当前目录
- 让右键就能快速打开CMD[备忘]
- 制作从U盘安装的windows embedded …
- myeclipse8.5注册码
- 抛鸡蛋(玻璃球或围棋)-优化版
- VS2010遇到_WIN32_WINNT宏定义问题
- vc 显示文字 图片
- cmd 备忘
- vc++ win32程序中使用MFC
- gSoap开发webservice client
- libcurl教程
- LibCurl编程流程
- VC控制台程序在后台运行
- js调用WebService服务
- VS2010 char* String CString转换
- C++字符编码转换函数