我正在使用xp。我在使用变量方面遇到了问题。
我正在使用以下代码
@echo off set var =“srting”
当我使用%
检查var的值时设置%var%
环境变量%var%未定义
任何人都有帮助...
答案 0 :(得分:1)
取出等号前后的空格; IIRC,我认为这可能会导致问题。
此外,您不能在这样的行上放置多个命令,您必须将其与&符号分开,或者将其更改为:
@echo off
set var="srting"
编辑:
你说你试试:
Set %var%
但%var%是一个值,而不是变量名。这真的是你的意图吗?
答案 1 :(得分:1)
设置%var%环境变量%var%未定义
在DOS批处理文件中设置变量时不允许使用空格。
试试这个:
@echo off
set var =“srting”
回显%var%
....这应该会在下一行给你输出“srting”。
如果您现在尝试 - 您自己的命令:设置%var%
输出应为:“未定义环境变量srting”
在我看来是正确的。希望对你有意义。
答案 2 :(得分:0)
如果您想根据文件内容执行不同的代码路径,这应该适合您:
@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
”或“(
”,则上述代码将无效。解决方法是获取文件的简称(可能使用:~dpsx),然后使用它。