gpt4 book ai didi

windows - 将文件内容读入数组的批处理脚本

转载 作者:可可西里 更新时间:2023-11-01 12:08:09 26 4
gpt4 key购买 nike

伙计们,我希望使用 Windows 批处理脚本传递一个运行命令 x 次,每次使用不同的参数,这些参数是从文件中解析的。

例如有一个文本文件说 arg1 arg 2 arg3,批处理脚本将解析它并运行

program.exe -arg1
program.exe -arg2
program.exe -arg3

我正在考虑将文件逐行读取到一个数组中,然后为每个循环执行一次,但没有使用 Windows 脚本来执行此操作的经验

最佳答案

好的,我们开始...recall.bat。您始终需要提供 1 个参数 - 每次调用的可执行文件。您还需要创建一个参数文件:默认情况下为 args.txt,每行应该有一个参数。如果参数包含空格或特殊字符,则应将其引号转义。

来源: recall.bat

@echo off
setLocal EnableDelayedExpansion

::: recall.bat - Call an executable with a series of arguments
::: usage: recall $exec [$argfile]
::: exec - the executable to recall with arguments
::: argfile - the file that contains the arguments, if empty will
::: default to args.txt
::: argfile format:
::: One argument per line, quote-escaped if there's spaces/special chars
if "%~1"=="" findstr "^:::" "%~f0"&GOTO:EOF

set argfile=args.txt
:: Reset argfile if supplied.
if "%~2" neq "" set argfile="%~2"
:: Remove quotes
set argfile=!argfile:"=!

for /f "tokens=*" %%G in (%argfile%) do (
call %1 %%G
)

示例:

args.txt

hello
world
"hello world"

调用:

recall echo args.txt

输出:

hello
world
"hello world"

关于windows - 将文件内容读入数组的批处理脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3718788/

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