gpt4 book ai didi

windows - 修改批处理文件中的参数列表

转载 作者:可可西里 更新时间:2023-11-01 09:58:56 28 4
gpt4 key购买 nike

我正在创建一个批处理文件,它接受一个参数,后跟一个文件名列表。我想将文件名列表传递给批处理文件中的另一个可执行文件,但我不想同时传递第一个参数。

像这样:

Usage: LaunchTest.bat <config file> files ...

LaunchTest.bat 是这样的:

SET CFGFILE=%1
@REM The below does not work, because %* still has the CFGFILE value of %1 in it
@REM I thought I could 'shift', which moves %2, etc., down to %1, etc., but it
@REM does not change the values in %*.
@REM Testing.exe expects only the list of files.
Testing.exe %*

知道如何从 %* 中删除一个参数,或者构造一个任意长度的参数列表来传递给一个命令吗?

谢谢,新年快乐。

最佳答案

@ECHO OFF
SETLOCAL
SET "parms=%*"
CALL SET "parms=%%parms:*%1=%%"
ECHO(%parms:~1%

echo======= Second way


SETLOCAL enabledelayedexpansion
SET "parms=%*"
SET "parms=!parms:*%1=!"
ECHO(%parms:~1%

GOTO :EOF

两种方式 - 使用和不使用delayedexpansion

关于windows - 修改批处理文件中的参数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27726853/

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