2010-02-02 107 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