加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

bat文件之间互相调用并传值(一个bat文件调用另外一个bat文件并传值)

(2011-07-26 09:40:21)
标签:

bat文件间调用

bat文件传值

bat和cmd区别

it

分类: 系统部署

bat文件之间调用互相调用并传值的整理:

 

1.bat文件和cmd文件的区别

 

    本质上没有区别,都是简单的文本编码方式,都可以用记事本创建、编辑和查看。两者所用的命令行代码也是共用的。

(1).bat”: cmd文件的描述是“Windows NT命令脚本”。这是微软的第一个批处理文件的后缀名,在几乎所有的Windows操作系统内都能运行。

(2).cmd”: bat文件的描述是“MS DOS批处理文件”。是为Windows NT (WINDOWS2000及以上版本)设计的命令行脚本, 为Cmd.exe shell而设计的, 对于COMMAND.COM不具有向后兼容性。cmd文件中允许使用的命令要比bat文件多。

(3) 目前所知道的.cmd 和 .bat文件的区别是对ERRORLEVEL变量的改变:当Command Extensions (命令行扩展)处于enabled状态时,哪怕是.cmd文件中一个成功执行的命令都可以改变ERRORLEVEL的值,而在.bat 文件中ERRORLEVEL 变量只有在遇到错误的时候才发生改变。

 

2.bat文件间调用并传值的实例

  (注:本实例中a.bat和b.bat文件都放在E:盘根目录下)

    (1)主调文件a.bat,代码如下:     

cd \
cd d:

pause
call E:/b.bat d
pause

    命令注释:调用d盘根目录下的b.bat文件,并将参数值d传入到b.bat文件中。

    (call命令: 调用另一个批处理文件。如果不用call而直接调用别的批处理文件--即将call从上面代码中去掉,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)

 

    (2)被调文件b.bat,代码如下:

 @echo off
for %%a in (%1) do (
if not %%a equ "" (
 start  %%a:
)
)

echo 接收完毕.....
pause

    命令注释:声明一个变量a--%%a,接收a.bat文件中的call b.bat d命令传入的参数值d;命令非空时执行start d:命令--即打开D盘根目录窗口。

    (%%a:bat批处理文件中,声明变量使用%%变量名的方式;而命令行中使用%变量名的方式。

      %1:%[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格、或者Tab分隔的字符串变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。a.bat文件中,call b.bat d命令中的d,即为%1.

      start :1.打开文件夹必须用START命令
              2.如果程序在X:\WINDOWS或X:\WINDOWS\SYSTEM32目录下的话,可以直接使用start *.exe运行

              该程序而不必在这个目录下

    


3.效果演示

步骤一:双击a.bat文件

http://s16/bmiddle/683b7a84ga8effcd9f50f&690

步骤二:按任意键,调用b.bat,并打开了D盘根目录的文件夹

 

http://s1/middle/683b7a84ga8efed6957a0&690

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有