gpt4 book ai didi

windows - 批处理文件在 FOR/f 之后不继续

转载 作者:可可西里 更新时间:2023-11-01 10:43:13 25 4
gpt4 key购买 nike

下面的批处理文件通过 :RUNRULES 部分运行,对文件夹中的每个文件执行 DO,在循环执行之后事情变得很奇怪。 IF 永远不会被执行。

执行了 ECHO,但没有回显 echo 命令,就好像 ECHO OFF 处于事件状态一样。 IF 也不会回显。

::@ECHO OFF
SETLOCAL ENABLEEXTENSIONS

SET S1=Server1
SET S2=Server2
SET DATABASE=DbName
SET SCRIPT=folder\sqlscript.sql

:S1
ECHO Running rules in S1
SET SERVER=%S1%
GOTO RUNRULES

:S2
ECHO Running rules in S2
SET SERVER=%S2%
GOTO RUNRULES

:RUNRULES
SET OUTPUTFILE=%SERVER%_folder.csv
COPY NUL %OUTPUTFILE%
FOR /f %%f IN ('dir /b /on folder') DO (
IF EXIST results.csv DEL /Q results.csv
CALL RunRule "%SERVER%" "%DATABASE%" "folder\%%f" "results.csv"
TYPE results.csv >>%OUTPUTFILE%
)

ECHO Past the FOR loop
IF %SERVER%==%S1% GOTO S2

最佳答案

RunRule 是一个批处理文件,其中包含一个 ECHO OFF 并将环境变量 SERVER 设置为另一个值,为 SERVER 的值添加引号。 IF 将 SERVER 的新值与它最初设置的值进行比较,但不执行,因为它们不相等。

关于windows - 批处理文件在 FOR/f 之后不继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39780965/

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