gpt4 book ai didi

batch-file - 命令 : for | It won't accept my variable in skip=%var% option

转载 作者:行者123 更新时间:2023-12-04 01:52:11 25 4
gpt4 key购买 nike

好吧,我有点卡在代码的以下部分了。该程序将计算文件 usernames_list.txt 中的行数。每行都有我要输入的文件夹的名称。我希望该程序进入我列表中的每个文件夹,创建一个名为 test_1 的文件,然后转到它的父文件夹。这应该重复直到它到达列表的末尾。我做对了吗? :/出于某种原因,“跳过”选项不接受我的变量。

    for /f %%C in ('Find /V /C "" ^< usernames_list.txt') do set lines=%%C
set times=0
set /A skip_value=%lines%-(%lines%-%times%)
:redo
FOR /F "skip=%skip_value%" %%b IN (usernames_list.txt) DO (
cd %%b
echo > test_1
cd ..
set /A times=%times%+1
if /i {%times%}=={%lines%} (goto continue)
goto redo
)
:continue
pause

最佳答案

如当前所写,set/A skip_value=%lines%-(%lines%-%times%) 将始终计算为 0,因为 times = 0。

SKIP 值必须>= 1。设置 SKIP=0 会导致语法错误。

在我看来,您计算 skip_value 的逻辑存在缺陷。但即使您修复了逻辑,您仍然需要担心 <= 0 的值。我通过定义一个 SKIP 变量来处理这种情况,仅当该值 >= 1 时才包含整个选项文本。

set "skip="
if %skip_value% geq 1 set "skip=skip=%skip_value%"
for /f "%skip%" %%b in (usernames_list.txt) ...

您可能需要额外的 FOR/F 选项。那不是问题。例如:

for /f "%skip% delims=" ...

关于batch-file - 命令 : for | It won't accept my variable in skip=%var% option,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14059714/

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