跳至正文

Windows批处理的用法笔记

在Windows平台上做项目的自动化构建时,会不可避免的用到批处理文件,本文记录一些常用方法。

echo

echo start copy 

在控制台输出字符串:start copy

@

在命令行前面加上@,表示仅执行,而不显示本命令。

@start test.exe

上面语句表示仅执行test.exe,不显示。

@echo off

Windows在运行批处理时,会依次执行并显示每一条命令,使用@echo off将关闭显示。同理,@echo on打开显示。

call

在批处理中要调用另一个批处理文件,必须使用call,否则后续命令不会执行。

call a.bat
call b.bat

set

自定义变量使用set命令。例如:

set DEST=%cd%
echo %DEST%\tools // c:\xxx\tools

在批处理中,%cd%表示本次执行的当前目录,假设是c:\xxx,则其后路径c:\xxx\tools在批处理中可以用%DEST%\tools表示。

xcopy

拷贝文件用xcopy命令。例如:

// 把tools目录下所有json文件拷贝到c:\xxx目录
xcopy /y /k tools\*.json c:\xxx\

// 把tools目录下的a.json文件拷贝到c:\xxx目录
xcopy /y /k tools\a.json c:\xxx\

传参

可直接传入批处理的10个参数用0-9表示。例如:

a.bat c:\test 100

则在a.bat中用%1%%2%分别代表c:\test100%0%表示批处理文件自身。

注释

如果语句开头是冒号,则后面的整行命令不会被执行。

: xcopy 

上面语句中,xcopy不会被执行,因为行开头是冒号。

标签:

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注