gpt4 book ai didi

batch-file - 如何将额外的额外参数传递给批处理文件?

转载 作者:行者123 更新时间:2023-12-04 18:47:15 25 4
gpt4 key购买 nike

我想使用传递给批处理文件的前 2 个参数,然后将其他所有内容附加到批处理文件中执行的命令中。

有没有简单的方法来做到这一点?

// batch file
command -Duser=%1 -Dpwd=%2 {? how to pass all remaining arguments on the command line}

批处理将像这样执行
batch.bat USR PWD -Dargument1=1 -Dargument2=2

实际上,我希望执行以下操作
command -Duser=USR -Dpwd=PWD -Dargument1=1 -Dargument2=2

最佳答案

for命令应该给你你想要的:

for /f "tokens=1,2*" %%a in ("%*") do echo command -Duser=%%a -Dpwd=%%b %%c

来自 for 的帮助( for /? ):
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k将解析 myfile.txt 中的每一行,忽略以
一个分号,将每行的第二个和第三个标记传递给 for
正文,标记以逗号和/或空格分隔。 注意对于
正文语句引用 %i 以获取第二个标记,引用 %j 以获取
第三个 token ,%k 以获取第三个之后的所有剩余 token 。
为了
包含空格的文件名,您需要引用文件名
双引号。为了以这种方式使用双引号,您还
需要使用 usebackq 选项,否则双引号将是
解释为定义要解析的文字字符串。

所以在我的解决方案中, %%a具有传递给脚本的第一个参数的值, %%b第二个参数的值,和 %%c剩下的论点。

当我跑 batch.bat USR PWD -Dargument1=1 -Dargument2=2从命令提示符我得到:
command -Duser=USR -Dpwd=PWD -Dargument1=1 -Dargument2=2

删除 echodo用参数调用你的命令。

关于batch-file - 如何将额外的额外参数传递给批处理文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12316840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com