2017-10-18 166 views
0

我正在使用Windows XP Professional版本。 5.1.2600服務包3建築2600批處理文件集空變量

和我尋找消除以這種方式的變量:設定/一個myVar的=

當我運行代碼如下:

[row 00] @echo off 
[row 01] setlocal EnableDelayedExpansion 
[row 02] set /a zVarNum_A=1 
[row 03] echo [00]: !zVarNum_A! 
[row 04] set z > C:\WINDOWS\system32\zCONTAINER_00.txt 
[row 05] set /a zVarNum_A= 
[row 06] echo [01]: !zVarNum_A! 
[row 07] set z > C:\WINDOWS\system32\zCONTAINER_01.txt 
[row 08] endlocal 
[row 09] @echo on 

我有這些結果:

- [行06]的結果是:1 - [行07]的結果是:zVarNum_A = 1

的期望的行爲是:

- [排06]因此空 - [排07]因此空

爲什麼不是這個代碼的工作?

任何幫助將不勝感激! 在此先感謝

+0

你還沒有問過一個問題,你只是做了一個陳述,你不明白你的結果。您需要準確解釋您的代碼應該「回聲」以及與實際回聲有什麼不同。因爲它的問題只需要一個其他成員'關閉'投票,所以我建議你[編輯你的問題](https://stackoverflow.com/posts/46816246/edit)與此信息儘快如果你不希望發生這種情況。在提交編輯之前,請重新閱讀它,就好像您是潛在的響應者一樣,並確保其清晰易懂。 – Compo

回答

1

您不能有一個沒有值的變量,設置一個空值取消定義/從環境中刪除變量。

+0

感謝Compo的答案,但問題是: 1)系統以相同的代碼以不同的方式回答,如果該值是數字或字符串 2)使用行:set/a zVarNum_A =,I取消定義/刪除來自環境的變量,但輸出爲1或zVarNum_A = 1的可能性如何? – giac