bat命令入门与高级技巧详解

2019-01-29 22:08:30刘景俊

在windowsXP中,批处理可以调用本程序中的一个程序段,相当于子程序,这些子程序一般放在主程序后面。
子程序调用格式:
CALL :label arguments
子程序语法:
:label
command1
command2
......
commandn
goto :eof
在子程序段中,参数%0指标签:label
子过程一般放在最后,并且注意在主程序最后要加上exit或跳转语句,避免错误的进入子过程。
子程序和主程序中的变量都是全局变量,其作用范围都是整个批处理程序。
传至子程序的参数在call语句中指定,在子程序中用%1、%2至%9的形式调用,而子程序返回主程序的数据只需在调用结束后直接引用就可以了,当然也可以指定返回变量,请看下面的例子。
子程序例1:

@echo off call :sub return 你好 echo 子程序返回值:%return% pause :sub set %1=%2 goto :eof

运行结果:你好

子程序例2:设计一个求多个整数相加的子程序
@echo off
set sum=0
call :sub sum 10 20 35
echo 数据求和结果:%sum%
pause
:sub
rem 参数1为返回变量名称
set /a %1=%1+%2
shift /2
if not "%2"=="" goto sub
goto :eof
运行结果:65

在win98系统中,不支持上面这种标号调用,须将子程序单独保存为一个批处理程序,然后调用。

五、用ftp命令实现自动下载
ftp是常用的下载工具,ftp界面中有40多个常用命令,自己学习了,不介绍了。这里介绍如何用dos命令行调用ftp命令,实现ftp自动登录,并上传下载,并自动退出ftp程序。
其实可以将ftp命令组合保存为一个文本文件,然后用以下命令调用即可。
ftp-n -s:[[drive:]path]filename
上面的filename为ftp命令文件,包括登录IP地址,用户名、密码、操作命令等
例:
open 90.52.8.3 #打开ip
user iware #用户为iware
password8848#密码
bin #二进制传输模式
prompt
cd tmp1 #切换至iware用户下的tmp1目录
pwd
lcd d:download #本地目录
mget *#下载tmp1目录下的所有文件
bye #退出ftp
六、用7-ZIP实现命令行压缩和解压功能
语法格式:(详细情况见7-zip帮助文件,看得头晕可以跳过,用到再学)
7z <command> [<switch>...] <base_archive_name> [<arguments>...]
7z.exe的每个命令都有不同的参数<switch>,请看帮助文件
<base_archive_name>为压缩包名称
<arguments>为文件名称,支持通配符或文件列表
其中,7z是至命令行压缩解压程序7z.exe,<command>是7z.exe包含的命令,列举如下:
a: Adds files to archive. 添加至压缩包
a命令可用参数:
-i (Include)
-m (Method)

相关文章 大家在看