Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何检查FOR循环中是否设置了变量?_Windows_Batch File_For Loop_Scripting - Fatal编程技术网

Windows 如何检查FOR循环中是否设置了变量?

Windows 如何检查FOR循环中是否设置了变量?,windows,batch-file,for-loop,scripting,Windows,Batch File,For Loop,Scripting,我有一个循环: for /F "tokens=1,2,3,4,5 delims=():/ " %%a in (svn.txt) DO ( 虽然它显式地调用5个令牌,但可能只有3个或4个 是否有更好的方法对令牌进行编码,以获取正在解析的行中的令牌数 我如何判断第三个令牌(例如令牌)是否具有分配给它的值?我尝试过,如果没有定义,但使用令牌=1,2,3,4,5,显然始终定义%%c、%%d和%%e,即使它们的值是%%c、%%d和%%e。我不知道如何检查这些变量是否分配了自己的名称或实际值 嗯。如果[%

我有一个循环:

for /F "tokens=1,2,3,4,5 delims=():/ " %%a in (svn.txt) DO (
虽然它显式地调用5个令牌,但可能只有3个或4个

是否有更好的方法对令牌进行编码,以获取正在解析的行中的令牌数

我如何判断第三个令牌(例如令牌)是否具有分配给它的值?我尝试过,如果没有定义,但使用令牌=1,2,3,4,5,显然始终定义%%c、%%d和%%e,即使它们的值是%%c、%%d和%%e。我不知道如何检查这些变量是否分配了自己的名称或实际值

嗯。如果[%%e]等于[]。我曾经有过这样的经历,但我一直在抱怨其他的逻辑问题

for /f "tokens=1-5 delims=():/ " %%a in (svn.txt) do (
    if "%%c"=="" echo third token does not contain data

)
由于您正在请求5个令牌,因此将为循环的所有迭代定义它们。它们是否保留值取决于行的标记化

如果在读取/解析该行时没有任何令牌获取数据,则不会对此行执行do子句中的代码