陕西网站开发联系方式,做羞羞事视频网站,戴尔电脑网站建设方案范文,评价校园网站建设范例文章目录变量输入输出逻辑命令符控制语句函数注释变量
在批处理中#xff0c;变量全部是弱类型的#xff0c;通常可以当做字符串处理 1.初始化定义 set varthis a var 2.获取变量值 %var% 3.链接 set varcat%var1%%var2% 4.截取 %var:~n,m% n是起点#xff0c;m是长度…
文章目录变量输入输出逻辑命令符控制语句函数注释变量
在批处理中变量全部是弱类型的通常可以当做字符串处理 1.初始化定义 set varthis a var 2.获取变量值 %var% 3.链接 set varcat%var1%%var2% 4.截取 %var:~n,m% n是起点m是长度没有m表示直到结尾n和m可以是负数表示从尾部计数 5.替换 %var:sourcedesitination% 6.扩展 只是针对文件全路径的字符串 %~I - 删除任何引号()扩展 %I %~fI - 将 %I 扩展到一个完全合格的路径名 %~dI - 仅将 %I 扩展到一个驱动器号 %~pI - 仅将 %I 扩展到一个路径 %~nI - 仅将 %I 扩展到一个文件名 %~xI - 仅将 %I 扩展到一个文件扩展名 %~sI - 扩展的路径只含有短名 %~aI - 将 %I 扩展到文件的文件属性 %~tI - 将 %I 扩展到文件的日期/时间 %~zI - 将 %I 扩展到文件的大小 %~$PATH:I - 查找列在路径环境变量的目录并将 %I 扩展 到找到的第一个完全合格的名称。如果环境变量名 未被定义或者没有找到文件此组合键会扩展到 空字符串 7.变量延迟扩展setlocal enabledelayedexpansion变量使用“”标识
这个厉害这里是目前唯一的按照整型变量处理的语句。 8.set /a expression 是算术运算 9.转义符 ^去除特殊符号的特殊地位
输入输出
1.标准输出 echo %var% 2.标准输入 set /p var[promptstring] 3.输入文件 log 4.追加文件 log 5.输出文件 log 6.管道 | echo y|del /p a.txt
逻辑命令符
1.标准输出 echo %var% 2.标准输入 set /p var[promptstring] 3.输入文件 log 4.追加文件 log 5.输出文件 log 6.管道 | echo y|del /p a.txt
控制语句
1.分支 IF [NOT] ERRORLEVEL number command IF [NOT] string1string2 command IF [NOT] EXIST filename command 命令扩展 IF [/I] string1 compare-op string2 command IF CMDEXTVERSION number command IF DEFINED variable command
其中 compare-op 可以是:
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于2.循环 FOR %variable IN (set) DO command [command-parameters] 在批处理中 %variable 写作 %%variable 命令扩展 /d:表示只处理目录 FOR /D %variable IN (set) DO command [command-parameters] /r:表示处理根目录下的全部文件 FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters] /l:表示对数字序列进行处理 FOR /L %variable IN (start,step,end) DO command [command-parameters]
/f:表示set是文本文件并处理该文本文件 FOR /F [options] %variable IN (file-set) DO command [command-parameters]
FOR /F [options] %variable IN (string) DO command [command-parameters]
FOR /F [options] %variable IN (command) DO command [command-parameters]options:eolc - 指一个行注释字符的结尾(就一个) skipn - 指在文件开始时忽略的行数。 delimsxxx - 指分隔符集。这个替换了空格和跳格键的 默认分隔符集。 tokensx,y,m-n - 指每行的哪一个符号被传递到每个迭代 的 for 本身。这会导致额外变量名称的分配。m-n 格式为一个范围。通过 nth 符号指定 mth。如果 符号字符串中的最后一个字符星号 那么额外的变量将在最后一个符号解析之后 分配并接受行的保留文本。 usebackq - 指定新语法已在下类情况中使用: 在作为命令执行一个后引号的字符串并且一个单 引号字符为文字字符串命令并允许在 file-set 中使用双引号扩起文件名称。 example: FOR /F eol; tokens2,3* delims, %i in (myfile.txt) do echo %i %j %k
函数
echo off ::调用函数 call :add 1 2 echo %errorlevel% pause
::函数前部一定加上goto :eof避免多次运行函数 goto :eof ::函数名称add :add set /a re%1%2 echo %1%2%re% exit /b %re%
注释
以::开始的一行被注释
下面是高人写的很灵动的思维。摘自http://blog.sina.com.cn/s/blog_51a4af870100cyhk.html
有些时候我们需要在批处理中使用大段的注释即连续的注释超过2行。那么如何实现他呢
方法有很多种本文仅列举其中的一部分。
㈠、使用rem
注意注释中不能使用重定向符和管道符
当回显处于打开是时rem 命令及注释内容将被显示
rem 和注释之间要有空格。
示例 rem 注释内容1 rem 注释内容2
rem 注释内容3
㈡、使用::
Windows XP 可以识别以冒号 ( 开头作为标签的批处理程序行并且不会将它作为命令处理。如果某行以冒号开始则该行的任何命令都将被忽略。
示例 :: 注释内容1 :: 注释内容2
:: 注释内容3
㈢、使用echo nul
注意注释中不能使用重定向符和管道符
echo 和注释之间要有空格。
示例 echo 注释内容1nul echo 注释内容2nul
echo 注释内容3nul
㈣、使用goto
注意注释中不能使用goto 指向的标签
示例 goto han 注释内容1
注释内容2
注释内容3
:han
㈤、使用:注释
注意注释中第一个字符不能是数字或字母
示例 :注释内容1 :注释内容2
:注释内容3
说明在实际使用中例如标签 :stsrt 我们也可以认为他是注释。如下例
:: ArgParse.bat - Parser of command line arguments :: Will Sort - 2005-11-26 - WinXP_CMD/MSDOS7.10/MSDOS6.22 echo off
:Init for %%e in (directory_i directory_o filter_f filter_v log) do set %%e
:ParseLoop if “%1“” goto Start for %%s in (i I f F v V l L o O) do if %1”/%%s goto Switch%%s echo Error: Invalid switch ‘%1’! goto Quit
:SwitchI if “%directory_i%”“” set directory_i%2 goto NextArg
:SwitchO if “%directory_o%”“” set directory_o%2 goto NextArg
:SwitchF if “%filter_f%”“” set filter_f%2 goto NextArg
:SwitchV if “%filter_v%”“” set filter_v%2 goto NextArg
:SwitchL if “%log%”“” set log%2 goto NextArg
:NextArg shift shift goto ParseLoop
:Start echo.directory_i %directory_i% echo.directory_o %directory_o% echo.filter_f %filter_f% echo.filter_v %filter_v% echo.log %log%
:Quit for %%e in (directory_i directory_o filter_f filter_v log) do set %%e
:end
㈥、使用:标签 注释
示例 :han 注释下面的代码。。。 命令1
命令2
㈦、使用if not exist nul 注释
注意注释中不能使用重定向符和管道符
if not exist nul 和注释之间要有空格。
示例 if not exist nul 注释内容1 if not exist nul 注释内容2
if not exist nul 注释内容3