我正在使用XP。 我在使用variables时遇到问题。
我正在使用以下代码
@echo off set var =“srting”
当我检查var的值使用%
设置%var%
环境variables%var%未定义
任何人帮助…
如果你想根据文件内容执行不同的代码路径,这应该适合你:
@echo off set FILE_CONTENT=string for /f %%a in (file.txt) do set var=%%a if %var%==%FILE_CONTENT% ( goto MATCHED ) else ( goto NOT_MATCHED ) :MATCHED echo "matched" goto:EOF :NOT_MATCHED echo "Not matched" goto:EOF
但是,如果文件名包含' spaces
'或' (
'就像在' c:\program files(x86)
'中一样,上面的代码将不起作用。解决方法是获取短名称(可能使用:〜dpsx)该文件,然后使用它。
取出等号前后的空格。 IIRC,我认为这可能会导致问题。
另外,你不能把多个命令放在这样一行上,你必须用&符号来分隔它,或者改为:
@echo off set var="srting"
编辑:
你说你试试:
Set %var%
但%var%是一个值,而不是变量名。 这真的是你的意图吗?
设置%var%未定义环境变量%var%
在DOS批处理文件中设置变量不允许有空格。
尝试这个 :
@echo关闭
设置var =“srting”
echo%var%
….应该给你一个输出“srting”在下一行。
如果你现在尝试 – 你自己的命令:set%var%
输出应该是: “未定义的环境变量srting”
这在我看来是正确的。 希望对你有意义。