gpt4 book ai didi

batch-file - 批处理文件读取第一行未使用的文本,然后标记为已使用

转载 作者:行者123 更新时间:2023-12-04 22:33:51 25 4
gpt4 key购买 nike

我有一个要求,在 Windows 批处理文件中,从文本文件中读取第一个可用行,将其传递给一个变量并将名称\行标记为已使用

该文件的示例如下。

苹果

橙子

该脚本将以“apple”开头,将“apple”传递给稍后在脚本中使用的变量(我知道如何做到这一点),然后写回该行以读取 &apple,“&”用作标记表示它已被使用。

该文件将如下所示:

&苹果

橙子

下次运行批处理文件时,它将采用“梨”,将其传递给一个变量并用 & 标记它,使其看起来像:

&苹果
&梨
橙子

我首先尝试找到“&”,然后尝试移到下一行,但是在尝试了大约 12 个小时后我失败了。这是我到目前为止所得到的......不多:

for/f "tokens=1"%l in ('name.txt') do (Find/v "&"/v "^---- ^$") (For/F %n in (%l) do (设置新名称=%n))

谢谢

最佳答案

the.file 上运行它会依次修改每一行;

@echo off
setlocal enabledelayedexpansion
type nul > the.file.temp
set last=
for /F "tokens=*" %%A in (the.file) do (
set line=%%A
if "!line:~0,1!" neq "&" if "!last!" equ "" (
set last=!line!
set line=^&!line!
)
echo !line! >> the.file.temp
)

echo last value is !last!
type the.file.temp > the.file

(如果该行不以 & 开头且变量 last 为空,则将该行放入 last 并使用前导 line 修改 & 。始终将 line 附加到临时文件,完成后重命名)

关于batch-file - 批处理文件读取第一行未使用的文本,然后标记为已使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13291748/

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