一、批处理文件的参数

执行批处理文件时,可以给其传递参数。参数位于批处理文件名后,使用空白分隔。例如:在“C:\>demo.bat  arg1  arg2”命令中,arg1是传递给demo.bat的第一个参数,arg2是传递给demo.bat的第二个参数。

在批处理文件中,使用 %0 表示批处理文件本身,使用 %1 来接收传递给它的第一个参数,使用 %2 接收传递给它的第二个参数 ... 使用 %9 接收传递给它的第九个参数。使用 %* 接收传递给它的全部参数。

示例

::demo.bat
@echo off
echo first arg: %0
echo first arg: %1
echo second arg: %2
echo third arg: %3
echo four arg: %4
echo five arg: %5
echo six arg: %6
echo seven arg: %7
echo eight arg: %8
echo nine arg: %9
::  %10 被解析为 %1 和 0
echo error arg: %10
echo all arg: %*

运行

C:\>demo.bat  arg0 arg1  arg2  arg3  arg4  arg5  arg6  arg7  arg8  arg9
batch file self: demo.bat
first arg: arg0
second arg: arg1
third arg: arg2
four arg: arg3
five arg: arg4
six arg: arg5
seven arg: arg6
eight arg: arg7
nine arg: arg8
error arg: arg00     // %1是arg0,故这里为arg00
all arg: arg0 arg1  arg2  arg3  arg4  arg5  arg6  arg7  arg8  arg9
C:\>

总结

  • %0 代表批处理文件自身(例如上例中的demo.bat)
  • %1 接收传递给批处理文件的第一个参数,%2 接收第二个参数 ... %9 接收第九个参数
  • %9 后面的变量(例如:%10)是无效的
  • %* 接收所有参数(可以无限多个,不只接收前九个参数)
  • %0-%9%* 用于批处理文件,在DOS命令行环境使用则无效
  • %0-%9 能被扩充,但是 %* 不能被扩充

扩充变量 https://blog.csdn.net/mt15306338066/article/details/127214009

二、标签的参数

什么是标签

使用call命令调用标签时,也可以给标签传递参数

  • 和在命令行给批处理文件传参一样,给标签传参,也使用 %0 - %9 和 %*,区别:批处理文件参数 %0 表示批处理文件本身,而标签参数 %0 表示标签本身
  • 只有标签被call命令调用时,标签中的 %0 - %9 和 %* 才会被解析为call命令给标签传递过来的参数。如果标签不是被call命令调用,在其它情况下标签被执行时(例如:goto :label或批处理文件按照程序流程执行标签中的代码),标签中的 %0 - %9 和 %* 会被解析为批处理文件的参数
  • 标签的 %0-%9 也能被扩充, %* 也不能被扩充

示例 

::demo.bat
@echo off
echo batch file self: %0
echo batchFile first arg: %1
echo batchFile second arg: %2call :target t1 t2
echo the line after call:target
echo 0 in lable: %0
echo 1 in lable: %1
echo 2 in lable: %2

运行

写作不易,如果本文帮到了您,请您 “在下面一圈三连”。

【WINDOWS / DOS 批处理】批处理文件的参数 、标签的参数相关推荐

  1. 【WINDOWS / DOS 批处理】findstr、find命令对汉字的支持

    在WINDOWS / DOS 批处理编程中,使用findstr.find命令都可在文件中查找文本,但是它们对汉字的支持都存在如下"缺陷": 使用 findstr.find命令查找汉 ...

  2. 【WINDOWS / DOS 批处理】if命令参数详解(二)

    if命令参数详解(一) if命令参数详解(二) [格式四]IF [ /I ]  [ NOT ]  string1 compare-op string2 command string1 compare- ...

  3. 【WINDOWS / DOS 批处理】findstr命令之参数详解(一)

    目录 命令格式 命令功能 [filename参数] [/I参数] [/N参数] [/X参数] [/F:file参数] [/G:file参数] [strings和/C:string参数] [/R参数和/ ...

  4. 【WINDOWS / DOS 批处理】findstr命令之参数详解(二)

    findstr命令之参数详解(一)[共三篇] findstr命令之参数详解(三)[共三篇] 目录 命令格式 [/B参数和/E参数] [/S参数] [/D:dirlist参数] [/A:coloratt ...

  5. 【WINDOWS / DOS 批处理】for命令详解(一)

    for命令详解(一)[共十篇] for命令详解(二)[共十篇] for命令详解(三)[共十篇] for命令详解(四)[共十篇] for命令详解(五)[共十篇] for命令详解(六)[共十篇] for命 ...

  6. 【WINDOWS / DOS 批处理】if命令实现逻辑运算符

    if命令参数详解 [IF命令格式]IF  [opt]  [not] condition  cmdA    else    cmdB not关键字使IF命令支持逻辑运算符 "非"(N ...

  7. 【WINDOWS / DOS 批处理】call命令详解

    命令格式 格式一:call  [ [Drive:] [Path]  FileName  [Pararneters] ]  格式二:call  [:label [arguments] ] 命令功能 使用 ...

  8. 【WINDOWS / DOS 批处理】for命令详解(三)

    for命令详解(一)[共十篇] for命令详解(二)[共十篇] for命令详解(三)[共十篇] for命令详解(四)[共十篇] for命令详解(五)[共十篇] for命令详解(六)[共十篇] for命 ...

  9. 【WINDOWS / DOS 批处理】for命令详解(四)

    for命令详解(一)[共十篇]                  for命令详解(六)[共十篇] for命令详解(二)[共十篇]                  for命令详解(七)[共十篇] fo ...

最新文章

  1. volatile对原子性、可见性、有序性的保证
  2. 老罗锤子rom发布会的十五个猜想
  3. Kubernetes网络设计原则
  4. mongodb模糊查询_MongoDB技术从0到1+
  5. html如何去掉有无标题点,HTML中,如何去掉某个元素下的一些特殊标签?
  6. RecyclerView使用中遇到的问题
  7. Origin: 软件申请+续期指引
  8. 【数据结构与算法分析】——java语言描述(1)
  9. BOB靶机渗透实战-----攻略(大神勿喷)
  10. Android怎么制作圆角矩形,如何在Android UI中绘制圆角矩形?
  11. POJ 3295 Tautology (模拟法,栈的使用)
  12. Mysql系列之 -配置详情
  13. 去法国,买哪些伴手礼既有面子又不破费
  14. 量子计算(七):量子系统
  15. SpringCloud DataFlow — 0. 本地部署
  16. 浅析移动旺旺特服号之无限扩展
  17. 刷新率属于计算机的显示性能指标吗,显示器性能参数的含义
  18. wx.saveImageToPhotosAlbum将图片保存到本地
  19. spark SQL快速入门 1-9 慕课网
  20. 股票基金模拟交易日志5

热门文章

  1. 【Oracle】session_cached_cursors和open_cursors的调整
  2. python画箭头_科学网-Python matplotlib quiver—画箭头、风场、量场图-张伟的博文
  3. java计算机毕业设计基于安卓Android/微信小程序的智慧养老院管理系统
  4. 忘记一个人的N种方式
  5. 吐槽解决windows任务栏卡死、无反应
  6. 多元线性回归(Linear regression with multiple variables)
  7. exit函数使用说明
  8. Java计算机毕业设计电影周边产品查找系统源码+系统+数据库+lw文档
  9. AList软件的使用--已经直接在win上进行磁盘映射--修改数据源为mysql
  10. 代码统计分析工具SourceCounter