2014-04-08 76 views
1

我怎樣寫一個DOS批處理腳本內的變量值到一個文本文件?如何將變量的值寫入dos文本文件?

(Y,JJJ,SERL和序列是在批處理文件變量)

我試過如下:

set SERIAL=%Y%+%JJJ%+%SERL% 
%SERIAL% > VAR_1.TXT 
%T% > VAR_2.TXT 
%A% > VAR_3.TXT 
%SERL% > VAR_4.TXT 

的文件VAR _!TXT,VAR_2.txt,VAR_3.txt ,創建了VAR_4.txt,但它們是空的(0字節)。

我知道這有一個簡單的解決方案,但因爲我的批處理文件(很生疏!)

THANKS發揮它已經超過20年了!

回答

1

此方法允許長文件名,並且還從被包括在所述文件停止尾部空格(空格是停止其他的問題,但這種方法是優選的)。

(字符是一個很好的做法,以避免echo另一個bug。

>"VAR_1.TXT" echo(%SERIAL% 
>"VAR_2.TXT" echo(%T% 
>"VAR_3.TXT" echo(%A% 
>"VAR_4.TXT" echo(%SERL% 
+0

我用這種解決方案的偉大工程,並沒有尾隨空格!榮譽給你。 – FITZ

1

嘗試使用echo獲得價值了呢?

echo %SERIAL% > VAR_1.TXT 
echo %T% > VAR_2.TXT 
echo %A% > VAR_3.TXT 
echo %SERL% > VAR_4.TXT 
+0

不是貶低你,但也有原因,你正在使用的格式,是要避免的。看到我的答案是更可靠的方法。 – foxidrive

+0

@foxidrive,我不知道你的方法,我很欣賞尖端。 :) – merlin2011

0

請注意,如果在SETLOCAL ENDLOCAL塊內使用變量,則可以隱藏全局上下文中的變量。

此外,如果你想要,而不是追加到創建新的文件,您可以使用>>

SETLOCAL 
CALL SET B="fiiLOCAL" 
echo %A% > VAR_1.TXT 
SET A="fooGLOB2" 
echo %B% >> VAR_1.TXT 
ENDLOCAL 
TYPE var_1.txt