诸城网站价格,镇江市建设工程管理处网站,阿里云网站空间主机,学做名片的网站目录 一 基础知识二 常见命令1. 输出 echo2. 注释 rem .... %...% :: goto if (10) ()3. 变量 set4. 获取参数 %数字 %*5. 退出 exit6. 复制 copy7.读取输出文件内容 type8. 帮助 命令xxx /?9.等待当前命令运行结束后,才执行下一条命令 call10. 修改字体编码 chcp11. 特殊变量… 目录 一 基础知识二 常见命令1. 输出 echo2. 注释 rem .... %...% :: goto if (10) ()3. 变量 set4. 获取参数 %数字 %*5. 退出 exit6. 复制 copy7.读取输出文件内容 type8. 帮助 命令xxx /?9.等待当前命令运行结束后,才执行下一条命令 call10. 修改字体编码 chcp11. 特殊变量 三 结构1. 顺序结构2. 分支结构3. 循环结构 一 基础知识
windows中命令的关键字大小写不敏感批处理解释器对赋值语法的要求是非常严格的必须是set 变量名值的格式等号左右没有空格。命令的参数使用正斜杠 即 / 二 常见命令
1. 输出 echo
echo xxx 类似c语言的printf(“xxx”)echo off 在批处理脚本中默认命令都会回显展示 如果不想回显命令本身就使用该命令关掉。xxxxxxx xxxxxx这条命令不回显所以常见的用法是通过echo off 关闭整个脚本的命令回显。输出写入到文件 echo xxxx 1.txt 覆盖, echo xxxx 1.txt 追加
2. 注释 rem … %…% :: goto if (10) ()
参照大神精辟总结 做简要摘录:
3. 变量 set
通过命令set来定义变量, 通过%变量名%来调用变量
set var1hello
echo %var1%在 Windows 批处理脚本中所有变量都被视为字符串即使你存储的是数字。你可以进行数字运算但默认情况下系统把变量看作文本处理。因此当你定义变量时不用考虑类型问题。如果你想要进行数字运算可以使用 set /a系统会自动将变量视为整数进行处理/a 表示“arithmetic”算术
set /a var55
set /a var6%var5%1
echo %var6%注意var6也必须定义为数字类型的变量否则得到的是51这个文本
如果你想要定义空字符串你可以简单地这样做set var2获取用户输入。set /p 是批处理脚本中用于从用户输入中获取值的命令。它的作用是定义变量并赋值为用户的输入。它允许脚本暂停执行等待用户在命令行输入数据然后将输入内容存储在一个变量中。
set /p 变量名提示信息特殊变量 %cd%这是一个特殊的环境变量表示当前工作目录current directory。
4. 获取参数 %数字 %*
参照此篇博客 以下做摘录 获取哪几个变量 获取变量中的哪一部分 这些路径修饰符如 ~n, ~x, ~f 等只能用于命令行参数如 %1, %2 等不能直接用于普通变量如通过 set 命令定义的变量. 理解: f对应full path n对应name x对应extension
echo off
echo 0对应的变量 %0
echo 1对应的变量 %1
echo f修饰的变量 完整路径 %~f1
echo n修饰的变量 文件名 %~n1
echo x修饰的变量 扩展名 %~x1结果
5. 退出 exit
exit 0 % 关闭命令行窗口返回成功状态码 %
exit 1 % 关闭命令行窗口返回错误状态码 %参数/b可以保留命令行窗口, 只是停止当前批处理脚本
6. 复制 copy
复制的路径中如果可能带有特殊字符加上双引号。如果复制后的文件文件名不同直接体现。 copy a.txt b.txt将文件a复制为文件b
copy %outpath%%basename%_2_evac.fed %outpath%%basename%_3_evac.fed7.读取输出文件内容 type
type 1.txt8. 帮助 命令xxx /?
copy /?9.等待当前命令运行结束后,才执行下一条命令 call
call xxx命令10. 修改字体编码 chcp
chcp 是 Change Code Page 的缩写用于在命令行环境中更改当前的代码页即字符编码。通过 chcp 命令用户可以设置控制台使用的字符编码以便正确显示不同语言或字符集的文本。
例如执行 chcp 65001可以将命令行的字符编码更改为 UTF-8从而支持多语言字符的显示
11. 特殊变量
errorlevel errorlevel 表示上一条命令是否发生错误,如果错误,其值1, 否则0, 这个变量很特殊 可以直接使用如下判断
if errorlevel 1 (echo 这会执行
)表示if %errorlevel% 1 三 结构
1. 顺序结构
较为简单不再赘述
2. 分支结构
分支结构参照此篇 以下做一些关键摘录.
语法结构
理解: 括号挨着表达式,计算机搞不清楚括号后的内容是否属于表达式的一部分. else if前边可以不加空格,因为计算机已经知道右括号 ) 是执行代码块的结尾了.
if condition (rem 执行代码块
) else if condition (rem 执行代码块
) else (rem 执行代码块
)对比一下c语言
if(condition){//执行代码块
}
else if(condition){//执行代码块
}
else{//执行代码块
}常见用法
判断路径文件是否存在
if exist %filepath% (echo 路径%filepath%存在
) else (echo 路径%filepath%不存在
)判断变量是否定义, 注意此时变量不加%
set /p filepath请输入
if defined filepath (echo filepath存在
)if not defined filepath (echo filepath不存在
)判断上条指令是否执行成功.
call C:\Users\Administrator\Desktop\printf.batif %errorlevel% 0 (echo 前条执行成功
) else (echo 前条执行失败
)
3. 循环结构
参考此篇博客 下文做简要摘录。
基本格式
for %%a in (ele1 ele2 ele3) do (echo %%a
)
for %%a in (1,2,3) do (echo %%a
)特殊用法 输出当前文件夹下的文件只有文件
for %%i in (./*) do (echo %%i)指令参数 /l 遍历数字序列
欢迎交流指正ヾ(≧▽≦*)o, 之后继续补充