同一命令的多个变量

同一命令的多个变量

我是 cmd 新手,想知道是否有更简单的方法在命令中复制变量。例如,我必须对一组 96 个文件执行两个命令,每次我都会按向上箭头键,返回我的旧命令并将变量从 1 更改为 2,然后将 2 更改为 3,依此类推。

IE:

桌面\InitialProcess_230 Process230input.fasta -输出 Process230.fasta

然后,每次我想要执行下一个文件(即 InitialProcess_231 等)时,我都会在命令中通过滚动并删除 0 并放入 1 来更改它。对近 100 个文件执行此操作似乎很麻烦。

答案1

使用以下代码保存批处理文件。它将从 230 开始运行您的命令,一直运行到 330。

@echo off & setlocal EnableDelayedExpansion
set var=229
for /L %%A in (1,1,100) do (
    set /a num=%%A+!var!
    Desktop\InitialProcess_!num! Process!num!input.fasta -output Process!num!.fasta
)
echo Done
pause

for 循环具有参数 (1,1,100),这意味着它将从 1 开始,以 1 为步长,然后递增到 100。此数字 %%A 被添加到 !var!,我们将其设置为 229(结果为 !num! = 230, 231...)。如果要更改起始数字,请更改以下行:

set var=229

如果您的命令无法正常工作,请在实际命令前放置一个 echo,如下所示:

    echo Desktop\InitialProcess_!num! Process!num!input.fasta -output Process!num!.fasta

这不会运行命令,但会打印出它看起来的样子。这有助于排除故障。希望这能有所帮助,祝你好运!

相关内容