bat批处理命令使用

开发中经常需要自动处理一下事务,可以直接使用系统自带的Bat批处理命令来解决此类问题。windows中直接可以使用bat,Mac鸡可以直接用Shell,不用部署系统自带非常方便。当然如果想要处理比较复杂的事务,又要和平台无关Python是不错的选择。

Q: 为啥不用Python?
A: 够用方便就好。 Python首先需要系统有安装环境,一些机子上(其他同事)可能没安装。要部署比较麻烦。bat虽然弱,但够用有些简易处理是不二之选。

常用命令和方法

参数传递给批处理的参数

%~dp0 --- 取当前执行的路径,防止执行环境路径改变,其他bat使用call时出现路径错误。

参数空判断

下面方法比较好的解决空参数的判断问题

set "param1=%~1"
if "!param1!"=="" ( echo it is empty )

相关参数列表

%0 批处理文件本身
%1 第一个参数
%9 第九个参数
%* 从第一个参数开始的所有参数


批参数(%n)的替代已被增强。您可以使用以下语法:
      %~1     - 删除引号(\"),扩充 %1
      %~f1    - 将 %1 扩充到一个完全合格的路径名
      %~d1    - 仅将 %1 扩充到一个驱动器号
      %~p1    - 仅将 %1 扩充到一个路径
      %~n1    - 仅将 %1 扩充到一个文件名
      %~x1    - 仅将 %1 扩充到一个文件扩展名
      %~s1    - 扩充的路径指含有短名
      %~a1    - 将 %1 扩充到文件属性
      %~t1    - 将 %1 扩充到文件的日期/时间
      %~z1    - 将 %1 扩充到文件的大小
      %~$PATH : 1 - 查找列在 PATH 环境变量的目录,并将 %1扩充到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串


可以组合修定符来取得多重结果:
     %~dp1      - 只将 %1 扩展到驱动器号和路径
     %~nx1      - 只将 %1 扩展到文件名和扩展名
     %~dp$PATH:1 - 在列在 PATH 环境变量中的目录里查找 %1,并扩展到找到的第一个文件的驱动器号和路径。
     %~ftza1    - 将 %1 扩展到类似 DIR 的输出行。

.END(MoGuF)