2017-10-15 28 views
0

如何使用我的名字將環境變量寫入文本文件? 我的代碼是這樣的:將環境變量放入文本文件

@echo off 
cd c:\users\user\desktop\ 
set /p name = "Input filename: " 
copy nul %name%.txt 
set > %name%.txt 

但它不會創建任何文件。

+0

你想寫什麼在'%name%.txt'中? – sohaib

+0

如果你想發送'%name%.txt'中的隨機環境變量,你可以嘗試:'echo%MY_VARIABLE%>>%name%.txt'。 – sohaib

+4

你確定它沒有創建一個名爲'.txt'的文件嗎?如果您查看該文件,可能會發現有'name = yourname'這一行,因爲'set'對'='兩側的空格很敏感。在'='之前刪除空格,否則你設置一個名爲'name [space]' – Magoo

回答

1

你的問題在於:

set /p name = "Input filename: " 

緊隨name實際上將創建一個變量名叫做name<space>,你將能夠看到,如果你執行set nam顯示開始該值的所有變量空間。

請參見下面的成績單爲證:

C:\pax> set /p x = ? 
?with-space 

C:\pax> set /p x=? 
?no-space 

C:\pax> set x 
x=no-space 
x =with-space 

這成績單也顯示瞭如何解決它,只需改變你的線把空格去掉:

set /p name="Input filename: "