获取错误“文件名,目录名称或卷标语法不正确。”从批处理脚本

时间:2016-08-19 11:42:46

标签: batch-file

我有一个批处理脚本,它根据另一个变量有条件地设置变量:

set LABEL_NAME=main
echo %LABEL_NAME%
set UPLOAD_CHANNELS= 

/E:ON /V:ON if not defined %BINSTAR_TOKEN% set UPLOAD_CHANNELS=--upload-channels scitools/label/!LABEL_NAME!

echo %UPLOAD_CHANNELS%

我收到错误:

  

文件名,目录名或卷标语法不正确。

来自包含内联if语句的行。

请注意,变量UPLOAD_CHANNELS首先定义为等于单个空格字符。

1 个答案:

答案 0 :(得分:1)

您的代码看起来像这样吗?

@echo off

setlocal enableextensions enabledelayedexpansion

set "LABEL_NAME=main"
echo %LABEL_NAME%
set "UPLOAD_CHANNELS= "

if not defined BINSTAR_TOKEN set "UPLOAD_CHANNELS=--upload-channels scitools/label/!LABEL_NAME!"

echo %UPLOAD_CHANNELS%

请注意,使用defined关键字查找变量名称而不是其内容,因此不需要%

我猜你的代码会做更多的事情,此时不需要延迟扩展