05-CMD_for命令详解_变量
来源:互联网 发布:spring启动时加载数据 编辑:程序博客网 时间:2024/04/29 13:59
for命令中的变量
先把 FOR 的变量全部列出来:
~I - 删除任何引号("),扩展 %I
%~fI - 将 %I 扩展到一个完全合格的路径名
%~dI - 仅将 %I 扩展到一个驱动器号
%~pI - 仅将 %I 扩展到一个路径
%~nI - 仅将 %I 扩展到一个文件名
%~xI - 仅将 %I 扩展到一个文件扩展名
%~sI - 扩展的路径只含有短名
%~aI - 将 %I 扩展到文件的文件属性
%~tI - 将 %I 扩展到文件的日期/时间
%~zI - 将 %I 扩展到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩展
到找到的第一个完全合格的名称。如果环境变量名
未被定义,或者没有找到文件,此组合键会扩展到
空字符串
注意:
I 就是 for 声明的变量
删除任何引号("),扩展 %I
举例:
d:\cmd\03>echo "hello world!">temp.txt
d:\cmd\03>for /f "delims=" %i in (temp.txt) do @echo %~i
hello world!
d:\cmd\03>echo "I love You!!>>temp.txt
"I love You!!>>temp.txt
d:\cmd\03>echo ^"I love You!!>>temp.txt
d:\cmd\03>for /f "delims=" %i in (temp.txt) do @echo %~i
hello world!
I love You!!
d:\cmd\03>echo ^"Thank" you!!!">>temp.txt
d:\cmd\03>for /f "delims=" %i in (temp.txt) do @echo %~i
hello world!
I love You!!
Thank" you!!!
d:\cmd\03>echo ^"Thank" you!!!"!>>temp.txt
d:\cmd\03>for /f "delims=" %i in (temp.txt) do @echo %~i
hello world!
I love You!!
Thank" you!!!
Thank" you!!!"!
注意:
不成对的引号要加转义字符^ ,重定向符号前不要留空格
将 %I 扩展到一个完全合格的路径名,
即, (打印) 该文件/目录 的绝对路径.
举例:
d:\cmd>dir /b
01
02
03
d:\cmd>for /f "delims==" %i in ('dir /b') do @echo %~fi
d:\cmd\01
d:\cmd\02
d:\cmd\03
仅将 %I 扩展到一个驱动器号
即, (打印) 该文件/目录 所在的盘符.
举例:
d:\cmd>dir /b
01
02
03
d:\cmd>for /f "delims=" %i in ('dir /b') do @echo %~di
d:
d:
d:
仅将 %I 扩展到一个路径
扩展后:绝对路径 - 文件名(带扩展名) - 盘符(带冒号)
即, d:\cmd\02\1.txt => \cmd\02\
举例:
d:\cmd\02>dir /b
1.bat
1.txt
d:\cmd\02>for /f "delims=" %i in ('dir /b') do @echo %~pi
\cmd\02\
\cmd\02\
仅将 %I 扩展到一个文件名
即, (打印) 文件/目录 名字, 不带扩展名
举例:
d:\cmd\03>dir /b
dir
temp.txt
d:\cmd\03>for /f "delims=" %i in ('dir /b') do @echo %~ni
dir
temp
仅将 %I 扩展到一个文件扩展名
即, (打印) 文件 的扩展名
举例:
d:\cmd\03>dir /b
dir
temp.txt
d:\cmd\03>for /f %i in ('dir /b') do @echo %~xi
ECHO 处于打开状态。
.txt
扩展的路径只含有短名
即, 还是打印绝对路径
举例:
d:\cmd\03>dir /b
dir
temp.txt
d:\cmd\03>for /f %i in ('dir /b') do @echo %~si
d:\cmd\03\dir
d:\cmd\03\temp.txt
将 %I 扩展到文件的文件属性
举例:
d:\cmd\03>dir /b
dir
temp.txt
d:\cmd\03>for /f %i in ('dir /b') do @echo %~ai
d--------
--a------
将 %I 扩展到文件的日期/时间
举例:
D:\cmd\03>dir /b
dir
temp.txt
// 打印文件建立的日期
D:\cmd\03>for /f %i in ('dir /b') do @echo %~ti
2013/07/12 16:54
2013/07/12 16:29
将 %I 扩展到文件的大小
举例:
D:\cmd\03>dir /b
dir
temp.txt
// 打印文件大小
D:\cmd\03>for /f %i in ('dir /b') do @echo %~zi
0
66
查找列在路径环境变量的目录,并将 %I 扩展
即, 在 Path环境变量中, 查找指定字符串, 有则返回"="右边的值.
举例:
存在=>
D:\cmd\03>for /f "delims=" %i in ("notepad.exe") do @echo %~$path:i
C:\Windows\System32\notepad.exe
不存在=>
D:\cmd\03>for /f "delims=" %i in ("notepad123.exe") do @echo %~$path:i
ECHO 处于打开状态。
说明:
在 PATH变量里指定的路径里搜索 notepad.exe文件,
如果有 notepad.exe则会把他所在绝对路径打印出来,
没有就打印一个错误
先把 FOR 的变量全部列出来:
~I - 删除任何引号("),扩展 %I
%~fI - 将 %I 扩展到一个完全合格的路径名
%~dI - 仅将 %I 扩展到一个驱动器号
%~pI - 仅将 %I 扩展到一个路径
%~nI - 仅将 %I 扩展到一个文件名
%~xI - 仅将 %I 扩展到一个文件扩展名
%~sI - 扩展的路径只含有短名
%~aI - 将 %I 扩展到文件的文件属性
%~tI - 将 %I 扩展到文件的日期/时间
%~zI - 将 %I 扩展到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩展
到找到的第一个完全合格的名称。如果环境变量名
未被定义,或者没有找到文件,此组合键会扩展到
空字符串
注意:
I 就是 for 声明的变量
一, %~I
作用:删除任何引号("),扩展 %I
举例:
d:\cmd\03>echo "hello world!">temp.txt
d:\cmd\03>for /f "delims=" %i in (temp.txt) do @echo %~i
hello world!
d:\cmd\03>echo "I love You!!>>temp.txt
"I love You!!>>temp.txt
d:\cmd\03>echo ^"I love You!!>>temp.txt
d:\cmd\03>for /f "delims=" %i in (temp.txt) do @echo %~i
hello world!
I love You!!
d:\cmd\03>echo ^"Thank" you!!!">>temp.txt
d:\cmd\03>for /f "delims=" %i in (temp.txt) do @echo %~i
hello world!
I love You!!
Thank" you!!!
d:\cmd\03>echo ^"Thank" you!!!"!>>temp.txt
d:\cmd\03>for /f "delims=" %i in (temp.txt) do @echo %~i
hello world!
I love You!!
Thank" you!!!
Thank" you!!!"!
注意:
不成对的引号要加转义字符^ ,重定向符号前不要留空格
二, %~fI
作用:将 %I 扩展到一个完全合格的路径名,
即, (打印) 该文件/目录 的绝对路径.
举例:
d:\cmd>dir /b
01
02
03
d:\cmd>for /f "delims==" %i in ('dir /b') do @echo %~fi
d:\cmd\01
d:\cmd\02
d:\cmd\03
三, %~dI
作用:仅将 %I 扩展到一个驱动器号
即, (打印) 该文件/目录 所在的盘符.
举例:
d:\cmd>dir /b
01
02
03
d:\cmd>for /f "delims=" %i in ('dir /b') do @echo %~di
d:
d:
d:
四, %~pI
作用:仅将 %I 扩展到一个路径
扩展后:绝对路径 - 文件名(带扩展名) - 盘符(带冒号)
即, d:\cmd\02\1.txt => \cmd\02\
举例:
d:\cmd\02>dir /b
1.bat
1.txt
d:\cmd\02>for /f "delims=" %i in ('dir /b') do @echo %~pi
\cmd\02\
\cmd\02\
五, %~nI
作用:仅将 %I 扩展到一个文件名
即, (打印) 文件/目录 名字, 不带扩展名
举例:
d:\cmd\03>dir /b
dir
temp.txt
d:\cmd\03>for /f "delims=" %i in ('dir /b') do @echo %~ni
dir
temp
六, %~xI
作用:仅将 %I 扩展到一个文件扩展名
即, (打印) 文件 的扩展名
举例:
d:\cmd\03>dir /b
dir
temp.txt
d:\cmd\03>for /f %i in ('dir /b') do @echo %~xi
ECHO 处于打开状态。
.txt
七, %~sI
作用:扩展的路径只含有短名
即, 还是打印绝对路径
举例:
d:\cmd\03>dir /b
dir
temp.txt
d:\cmd\03>for /f %i in ('dir /b') do @echo %~si
d:\cmd\03\dir
d:\cmd\03\temp.txt
八, %~aI
作用:将 %I 扩展到文件的文件属性
举例:
d:\cmd\03>dir /b
dir
temp.txt
d:\cmd\03>for /f %i in ('dir /b') do @echo %~ai
d--------
--a------
九, %~tI
作用:将 %I 扩展到文件的日期/时间
举例:
D:\cmd\03>dir /b
dir
temp.txt
// 打印文件建立的日期
D:\cmd\03>for /f %i in ('dir /b') do @echo %~ti
2013/07/12 16:54
2013/07/12 16:29
十, %~zI
作用:将 %I 扩展到文件的大小
举例:
D:\cmd\03>dir /b
dir
temp.txt
// 打印文件大小
D:\cmd\03>for /f %i in ('dir /b') do @echo %~zi
0
66
十一, %~$PATH:I
作用:查找列在路径环境变量的目录,并将 %I 扩展
即, 在 Path环境变量中, 查找指定字符串, 有则返回"="右边的值.
举例:
存在=>
D:\cmd\03>for /f "delims=" %i in ("notepad.exe") do @echo %~$path:i
C:\Windows\System32\notepad.exe
不存在=>
D:\cmd\03>for /f "delims=" %i in ("notepad123.exe") do @echo %~$path:i
ECHO 处于打开状态。
说明:
在 PATH变量里指定的路径里搜索 notepad.exe文件,
如果有 notepad.exe则会把他所在绝对路径打印出来,
没有就打印一个错误
- 05-CMD_for命令详解_变量
- 04-CMD_for命令详解_参数
- WinDbg命令详解--查看内存变量符号
- 命令控制qq自动申请远程控制_代码详解
- Linux _ top命令 用法与 视图 详解
- Linux_Linux命令_复制指令_cp/scp命令+scp命令详解
- J2SE_2_变量_数据类型
- perl的变量@_
- ruby入门_变量
- Java基础_变量
- C++_变量命名
- 多线程_条件变量
- SQLServer变量_循环
- linux学习_变量
- C语言_变量
- Linux _条件变量
- Linux命令_ zcat 命令详解 -》不解压文件直接查看文件内容
- 变量详解
- 2012年 中国MCU市场排名 更新
- 生产者-消费者问题
- 1413. Mars Jumper
- 一个ViewSwitcher引发的血案!
- 如何将12.04ubuntu unity界面返回到gnome图形界面
- 05-CMD_for命令详解_变量
- 用 javamail 实现发邮件遇到的问题
- IOS开发之路-C 学习笔记7.12
- struts2的请求过程
- 各种rtos(实时操作系统)比较
- android中文乱码解决大全
- ubuntu12.04的Unity桌面系统变回经典Gnome桌面 及面板调整相关
- 基于 AXIS2/C 的 C 语言库实现对提供 REST API 的系统进行数据访问
- Statistical由Activity改为Fragment(二)