批处理for的变量下Batch for variables
Batch: FOR variables (originality)
(two) extended variables
Extended variables can enhance the FOR command. Here is a copyof the official help file.
The replacement of the FOR variable reference has been enhanced.You can now use the following options syntax:
~I - delete any quotes (") . Expand%I
%%~fI - extends%I to a fully qualified path name (full pathn ame)
Only%%~dI - expands%I to a drive letter (letter display only)%%~pI - extends the%I to only one path (only the path isextracted)
%%~nI-extends the%I to only one file name (only the file name)%%~xI - extends the%I to only one file extension (extractingonly the suffix format)
The%%~sI - extended path contains only short names (longf ilenames are reduced)
%%~aI - extends%I to the file properties of the file (a readonly, H hide)
%%~tI - extends%I to the date / time of the file (creation,modification time)
%%~zI - extends%I to the size of the file (KB)
%%~$PATH:I - finds the column in the directory of the pathenvironment variable and extends the%I to the first fullyqualified name found. If the environment variable name is notdefined, or the file is not found, the composite key is expandedto an empty string.
You can combine modifiers to get multiple results:
%%~dpI - extends%I to a drive letter and path only
%%~nxI - extends%I to only one file name and extension%%~fsI - extends only%I to a full pathname with a short name%%~dp$PATH:i - finds the column in the directory of the pathenvironment variable, and extends the%I to the first driveletter and path found.
%%~ftzaI - extend%I to DIR similar to the output lineIn the examples above,%%I and PATH can be replaced by othervalid values. %%~ grammar with a valid variable name FORtermination. Selecting uppercase variable names like%%I iseasier to read and avoid confusing combinations of keys thatare not case sensitive.
When using the FOR command in a batch file, specify variablesusing%%variable instead of%variable. Variable names are casesensitive, so%i is different from%I. At the same time, no morethan 52 are in use.
Many people do not understand the FOR command for officialdocument translation too be beneath the human character. Hereyou just catch the use of the above eleven expansion variables,and the specific role, and so you used, and then check it.1, the use of the option ~I
Example: observe double quotes.
Create text. Delete quote.Txt":
"What' s your name"
"The last name is Zhu, and the name is" Liye ""
"Pig upright leaves?""
"Uh huh!"
"How old is this year?""
"16. "
"January 15, 2009. ""
Ba "____" Ch
"1+1" =?"
''
Code
@echo off
FOR, /F, delims=,%%i, IN (delete quote.Txt) , DO, echo,%%~iPause
Operation result:
1) double quotes in Chinese, none of them disappear. Proof thatit is not valid for double quotation marks in chinese. Such as"16". "
2) the external state of the double quotes English deleted (5to dangerous curtain curtain good song Lai chip H? /span> "1+1""
3) single quotes in English status have not been deleted. Such
Explain:
This command is suitable for extracting strings from otherplaces and deleting the most enclosed double quotes in the
string for other commands. Look at the following example:@echo off
For%%a in ("great Chinese people hooray, hooray, ten millionyears old") do echo.%%~a
Pause>nul
Operation result:
Long live the great Chinese people! Hooray!
Explain:
If you do not use double quotes, you will display them insections. Double quotation marks using Chinese status, withdouble quotation marks. But the double quotation marks ("" """") in English states are very clean.
2, the use of other options
Example: only the file name is checked:
@echo off
For%%i in do echo%%~ni (. *)
Pause>nul
Explain:
%%~ni can extract file names, and using this command to extractsongs from your computer will be the best choice.
Cases:
View date size file name:
@echo off
For%%i in do echo%%~ztni (. *)
Pause>nul
Explain:
Sometimes you want to look at the date, size, property, etc.of a file, and you can use the add in variables together.This might be useful in antivirus.
Although the expansion variables are many, but the usage isbasically the same, they can be replaced by other extendedvariables instead of%%~ni.
Note that the last letter I of the variable is not fixed, whatis the input variable, and what it should be.
For example, using%%~$PATH:I:
@echo off
For /r%%a in do echo%%~$PATH:a (. *)
Pause>nul
Explain:
The first%%a uses a, then the second%%a is still using a, anddoes not change because of the addition of the extended variable~$PATH. Can not be born hard move formula, all use I.Extended environment variables are often used to extract keycharacters, or to exclude other redundant factors.
(three) system variables
(temporarily omitted)
Third section FOR DO
I. overview
DO followed by one or a set of commands. A command that indicatesthe execution of each FOR cycle.
Sometimes the commands behind DO are too complex and need tobe bracketed together to represent a whole.
Two, type
1, an order:
For,%%i, in (. . . , o*.mp3) , do, echo,%%i
2, a set of commands:
For, /r, d: ,%%i, in (QQ.exe) , do, if, exist,%%i, , start,%%i1, need brackets:
@echo off
Color 0A
For, /l,%%a, in (1,2,8) do
For, /l,%%b, in (3, 3, 18) do
For, /l,%%c, in (100, -15,30) do
Echo%%a%%b%%c
)
)
)
Pause
Three, use
(omitted) see the fifth section of the FOR command synthesisapplication
licloud官方消息:当前对香港机房的接近100台物理机(香港服务器)进行打折处理,30Mbps带宽,低至不到40美元/月,速度快,性价比高,跑绝大多数项目都是绰绰有余了。该款香港服务器自带启动、关闭、一键重装功能,正常工作日内30~60分钟交货(不包括非工作日)。 官方网站:https://licloud.io 特价香港物理服务器 CPU:e3-1230v2(4核心、8线程、3.3GH...
vpsdime怎么样?vpsdime是2013年成立的国外VPS主机商,以大内存闻名业界,主营基于OpenVZ和KVM虚拟化的Linux套餐,大内存、10Gbps大带宽、大硬盘,有美国西雅图、达拉斯、新泽西、英国、荷兰机房可选。在上个月搞了一款达拉斯Linux系统VPS促销,详情查看:vpsdime夏日促销活动,美国达拉斯vps,2G内存/2核/20gSSD/1T流量,$20/年,此次推出一款Wi...
外贸主机哪家好?抗投诉VPS哪家好?无视DMCA。ParkinHost今年还没有搞过促销,这次parkinhost俄罗斯机房上新服务器,母机采用2个E5-2680v3处理器、128G内存、RAID10硬盘、2Gbps上行线路。具体到VPS全部200Mbps带宽,除了最便宜的套餐限制流量之外,其他的全部是无限流量VPS。ParkinHost,成立于 2013 年,印度主机商,隶属于 DiggDigi...