2010-02-02 83 views
0

我想在批处理脚本中将字母数字值分配给一个变量。 我尝试了一个,但得到错误。将字母数字值分配给批量变量

setlocal 
set test = \765514e2aad02ca658cc56cdb7884947 *E:\\test1 
echo %test% 
endlocal 

Error: 
C:\Users\bgannu>setlocal 

C:\Users\bgannu>set test = \765514e2aad02ca658cc56cdb7884947 *E:\\test1 

C:\Users\bgannu>echo 0 
0 

C:\Users\bgannu>endlocal 

回答

0

失去/ A。/A用于算术。

C:\test>set var=\765514e2aad02ca658cc56cdb7884947 *E:\\test1 

C:\test>echo %var% 
\765514e2aad02ca658cc56cdb7884947 *E:\\test1 
+0

即使删除/ A也不能正常工作 – Bharath 2010-02-02 08:01:14

2

set的语法是set [[/a [expression]] [/p [variable=]] string]=了你的变量之后,直接,所以你需要改变:

set test = \765514e2aad02ca658cc56cdb7884947 *E:\\test1 

到:

set test=\765514e2aad02ca658cc56cdb7884947 *E:\\test1 

否则,你的变量名会最后有一个空间。您可以轻松地尝试了这一点:

> set bar = foo 
> echo %bar% 
%bar% 
> echo %bar % 
foo 

注意这两个变量名其内容得到了空间。

+0

+1;我冒昧地将实际问题弄清楚了一点。 – Joey 2010-02-02 12:41:37