2017-10-15 29 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: "