Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >带星号的Batch FOR循环

带星号的Batch FOR循环
EN

Stack Overflow用户
提问于 2012-11-28 16:26:41
回答 3查看 1.9K关注 0票数 3

我有这个单行CMD文件TEST.CMD:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for %%f in (%1 %2 %3 %4 %5 %6 %7 %8) DO ECHO %%f

如果我运行以下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
TEST this is a test

它在单独的行上正确地回显每个参数,即,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
this
is
a
test

但是,如果参数包含星号,则会跳过该参数。例如,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
TEST this is a* test

结果如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
this
is
test

如何获取带有星号的参数,将其视为普通令牌?

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2012-11-29 06:30:24

适用于大多数参数的最简单方法是将参数传递给变量的“数组”,然后使用for /L遍历该数组。这最好通过延迟扩展来实现。

这项技术可以处理任意数量的参数-它不限于9个。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@echo off
setlocal

:: Transfer parameters to an "array"
set arg.cnt=1
:getArgs
(set arg.%arg.cnt%=%1)
if defined arg.%arg.cnt% (
  set /a arg.cnt+=1
  shift /1
  goto :getArgs
)
set /a arg.cnt-=1

:: Process the "array"
setlocal enableDelayedExpansion
for /l %%N in (1 1 %arg.cnt%) do echo arg %%N = !arg.%%N!
票数 1
EN

Stack Overflow用户

发布于 2012-11-28 16:46:43

我发现的唯一一种事先不知道参数的方法是在for循环中回显参数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for /f %%f in ('"echo %1 && echo %2 && echo %3 && etc"') DO ECHO %%f
票数 0
EN

Stack Overflow用户

发布于 2012-11-28 17:23:24

不能打印,星号是一个动态运算符,它匹配某些命令中的"1个或多个字符“,例如FOR命令,唯一的方法是使用/F参数来获取命令的输出。

看看如果使用下面的代码会发生什么:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Echo OFF

Pushd "C:\"

Call :sub a b c * d e

:sub
for %%f in (%1 %2 %3 %4 %5 %6 %7 %8) DO ECHO %%f
Pause&Exit

( FOR打印当前目录中的所有文件)

然后你需要做的是..。:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Echo OFF

Call :sub a b c* d e

:sub
FOR /F "tokens=*" %%a in ('Echo %*') DO (ECHO %%a)
Pause&Exit
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13609760

复制
相关文章
python中带*号的参数,一个星号,两个星号
2.带两个星号(*)参数的函数传入的参数则存储为一个字典(dict),并且再调用是采取a=1,b=2,c=3的形式
狼啸风云
2021/04/01
3.6K0
python 函数参数的传递(参数带星号的说明)
python中函数参数的传递是通过赋值来传递的。函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析 先看第一个问题,在python中函数参数的定义主要有四种方式: 1.F(arg1,arg2,...) 这 是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用的的时候也必须在函数名后的小括号里提供个数相等的 值(实际参数),而且顺序必须相同,也就是说在这种调用方式中,形参和实参的个数必须一致,而且必须一一对应,也就
hbbliyong
2018/03/05
3.7K0
bgd、sgd、mini-batch gradient descent、带mini-batch的sgd
SGD是最速梯度下降法的变种。使用最速梯度下降法,将进行N次迭代,直到目标函数收敛,或者到达某个既定的收敛界限。每次迭代都将对m个样本进行计算,计算量大。为了简便计算,SGD每次迭代仅对一个样本计算梯度,直到收敛。伪代码如下(以下仅为一个loop,实际上可以有多个这样的loop,直到收敛):
狼啸风云
2021/08/05
9130
星号的作用
星号( * )已经在此前的学习中出现过,它可以作为乘法和乘方的运算符,也可以表示序列中元素的重复。对于函数而言,它的作用则体现在收集参数上。
老齐
2021/10/21
5.1K0
python的星号(*)和双星号(**)用法
在Python中,星号除了用于乘法数值运算和幂运算外,还有一种特殊的用法"在变量前添加单个星号或两个星号",实现多参数的传入或变量的拆解,本文将详细介绍"星号参数"的用法。
matinal
2023/10/13
4210
trick(三)、函数参数前面单星号(*)和双星号(**)的区别
在python的函数中经常能看到输入的参数前面有一个或者两个星号:例如 def foo(param1, *param2): def bar(param1, **param2): 这两种用法其实都是用来将任意个数的参数导入到python函数中。 单星号(*):*agrs 将所以参数以元组(tuple)的形式导入: 例如: >>> def foo(param1, *param2): print param1 print param2 >>> foo(1,2,3,4,5) 1 (
狼啸风云
2022/11/21
8790
星号转移
本关任务:规定输入的字符串中只包含字母和*号。给定程序的功能是将字符串中的前导*号全部移到字符串的尾部。
小Bob来啦
2020/12/16
2.9K0
星号转移
Python中带else子句的for循环执行过程
这几天在厦门讲课,每天6小时,没有太多时间写新代码,宾馆不知道咋想的也不提供WiFi,只好用手机做个热点临时分享一点基础知识,300M的包月流量伤不起,热点瞬间就把仅剩的40M流量用完了,赶紧发完关闭热点。 在Python中,有while和for两种循环,并且都可以带有else子句。其中while循环常用于无法提前确定循环次数的场合,当然也可以用于循环可以提前确定的场合;for循环常用于可以提前确定循环次数的场合,尤其适合用来迭代或遍历可迭代对象中的元素,这也是for循环的本质。 对于带有else子句的循环
Python小屋屋主
2018/04/16
1.6K0
Python中带else子句的for循环执行过程
Java打印菱形星号
先只打印#号, 然后打印*号,找规 双嵌套for循环, 外循环负责控制行数,控制行,控制换行 内循环负责控制列数,控制列,控制列打印的符号 找规律。。用i来表示j的最大值。
昨天50还没用完
2018/06/29
2.9K0
2315. 统计星号
我的思路是遍历字符串,记录|的个数,当其为奇数时,发现*也不计数,如果其为偶数,则计*的个数。比如"l|*e*et|c**o|*de|",设置一个变量flag,遇到第一个|,计数为1,后面遇到*e*et都不计数,然后遇到第二个|,将flag设置为2,然后后面的c**o计数为2,然后遇到一个|,flag设置为3,*de不会计数,然后遇到一个|,flag计数为4。再遇到下一个|之前都计数,但是这里后面没有了,便不计数。
Regan Yue
2023/07/10
1470
SAP QM Batch to Batch的转移过账事务中的Vendor Batch
下午,笔者在微信上收到之前的P项目客户方的合作伙伴邱老师的message,说是问我一个问题。
SAP虾客
2021/03/01
7350
SAP QM Batch to Batch的转移过账事务中的Vendor Batch
深度学习中的batch(batch size,full batch,mini batch, online learning)、iterations与epoch
我们已知在梯度下降中需要对所有样本进行处理过后然后走一步,那么如果我们的样本规模的特别大的话效率就会比较低。假如有500万,甚至5000万个样本(在我们的业务场景中,一般有几千万行,有些大数据有10亿行)的话走一轮迭代就会非常的耗时。这个时候的梯度下降使用了全部的样本数据,所以叫做full batch。
全栈程序员站长
2022/07/31
2.6K0
深度学习中的batch(batch size,full batch,mini batch, online learning)、iterations与epoch
如何隐藏Code39码的星号
CODE 39是 Intermec公司在1975年研制成功的。包括数字、字母和一些符号在内,条形码共包括43个字符。由于可以处理字母,CODE 39在工业领域必不可少,用于汽车、电子等工厂自动化行业。Code 39码支持26个英文大写字母(A-Z),十个数字(0-9),以及符号(-、.、_(空)、*、$、/、+、%)。可以对任意长度的数据进行编码,Code 39码用于物流跟踪、生产线流程等方面,是比较常用的条形码类型之一。39码的起始码和终止码为固定的星号“*”,即39码前后各有一个星号“*”来标识条形码的开始和结束。因为有些用户制作条码时,不需要显示头尾的星号,所以下面我们就介绍如何隐藏这个起始码和终止码。
神奇像素科技
2022/02/14
1.4K0
如何隐藏Code39码的星号
查看星号密码工具
可以查看星号密码的工具: 效果还是很强大的,欢迎使用! 星号密码查看
Youngxj
2018/06/07
4.3K0
Batch Normalization的诅咒
Batch Normalization确实是深度学习领域的重大突破之一,也是近年来研究人员讨论的热点之一。Batch Normalization是一种被广泛采用的技术,使训练更加快速和稳定,已成为最有影响力的方法之一。然而,尽管它具有多种功能,但仍有一些地方阻碍了该方法的发展,正如我们将在本文中讨论的那样,这表明做归一化的方法仍有改进的余地。
石晓文
2020/11/09
8780
Batch Normalization的诅咒
Python字典前双星号(**)的作用
Python中,单星号 * 和双星号 ** 除了作为“乘”和“乘方”的数值运算符外,还在列表、元组、字典的操作中有看到,下面对其进行解释:
狼啸风云
2020/07/01
2.2K0
点击加载更多

相似问题

带时间戳的Batch For循环

10

命令中带括号的batch for循环

10

带星号的变量

15

带OriginateResponse的星号

10

带星号的数字

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文