美文网首页计算机网络相关
BAT传参数组(字符串化)

BAT传参数组(字符串化)

作者: huangxiaomiao | 来源:发表于2017-04-20 10:53 被阅读0次

页面允许用户写入多个项目名称和地址,比如说希望这样调用

D:\test.bat "pro1,pro2,pro3","beijing,shanghai,guangzhou"

以下内容保存为test.bat文件

@echo off

setlocal EnableDelayedExpansion

set projects=%1

:loop1

set locations=%2

for /f "Tokens=1,* Delims=," %%a in (%projects%) do (

set proj=%%a

set projects="%%b"

:loop2

for /f "Tokens=1,* Delims=," %%c in (%locations%) do (

set loc=%%c

set locations="%%d"

echo !proj!_!loc!  %执行目标动作%

goto :loop2

)

goto :loop1

)

输出为:

pro1_beijing

pro1_shanghai

pro1_guangzhou

pro2_beijing

pro2_shanghai

pro2_guangzhou

pro3_beijing

pro3_shanghai

pro3_guangzhou

解释:

setlocal EnableDelayedExpansion:设置本地为延迟扩展,这样在语句块里边用双“!”可以拿到变化了的数据,用双“%”拿到的是最开始赋的值。

Tokens=1,* Delims=,:表示以“,”为分割符分割字符串,取第1列和剩下的所有作为第2列。

set projects="%%b":这里第2列的数据一定要用双引号括起来,这样才能被读成一个字符串,否则会被识别为两个参数,不能在下一次循环里去解析。

相关文章

  • BAT传参数组(字符串化)

    页面允许用户写入多个项目名称和地址,比如说希望这样调用 D:\test.bat "pro1,pro2,pro3",...

  • 获取数组最大值

    将数组排序: Math.min() 和 Math.max() 字符串拼接: apply 传参: 假设当前数组中第一...

  • 小程序之记录

    一、wx.navigateTo()传参 传字符串 传对象或数组 接收页面中,在onLoad中通过JSON.pars...

  • NSNotificationCenter带参数的通知

    下面以字符串为例,数组字典传递方式都是一样。NSString *string = @"要传的参数字符串"; 传递参...

  • Linux内核模块传参

    数据类型变量的传参 数组类型传参 实例

  • swift 字符串

    字符串传数组 数组转字符串

  • Java 4

    可变参数 JDK中具有可变参数的类Arrays.asList()方法。 分别传多个参、传数组,传数组又传参的情况。...

  • js常用方法整理

    数组操作 页面跳转 遍历对象 json与字符串互转 弹出框 取整 时间操作 字符串截取 判断数据类型 延时回调传参

  • 传参的几种方式

    1传参前先qs序列化 formdata序列化 formdata没有qs.stringify序列化时 json字符串...

  • 函数与数组

    函数的传参 可变参(不定参)arguments 参数的个数可变,参数数组 1.增加(改变数组内容) push() ...

网友评论

    本文标题:BAT传参数组(字符串化)

    本文链接:https://www.haomeiwen.com/subject/dvnkzttx.html