几个批处理的写法

1. 取传入参数时把参数的双引号去掉:

set PARA=%~1

2. 判断参数为空时跳转:

if "%~1"=="" goto Usage
:Usage
echo Usage: abc.bat [PARAMETER]

参数前后要加上双引号,比如用“if %1=="" goto Usage”会出错。

3. 内容替换:

set P=%cd%
set P=%P:\=\\%

第1行把当前目录赋给P参数,第2行把“\”替换成“\\”。

4. 内容提取:

set D=%date:~0,10%
set D=%D:-=%
set T=%time:~3,5%
set T=%T::=%

第1行把“2010-07-29 星期四”此类格式的日期前10个字符即“2010-07-29”赋给D,第2行把D参数的“-”替换为空,即D是“20100729”;
第3行把“13:39:08.90”此类格式的时间从第4个字符起连取5个字符即“39:08”赋给T,第4行把T参数的“:”替换为空,即T是“3908。”

4. 重定向输出:

echo Hello Word!>C:\out.txt
echo.>>C:\out.txt

第1行把“Hello Word!”重定向输出到“C:\out.txt”文件中,如果文件已存在则替换,否则新建;
第2行追加一个空行到“C:\out.txt”文件中。

Tags:

Leave a Reply


提醒: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。请务必注意user必须和评论者名相匹配(大小写一致)。