将环境变量放入文本文件
问题描述:
如何使用我的名字将环境变量写入文本文件? 我的代码是这样的:将环境变量放入文本文件
@echo off
cd c:\users\user\desktop\
set /p name = "Input filename: "
copy nul %name%.txt
set > %name%.txt
但它不会创建任何文件。
答
你的问题在于:
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: "
你想写什么在'%name%.txt'中? – sohaib
如果你想发送'%name%.txt'中的随机环境变量,你可以尝试:'echo%MY_VARIABLE%>>%name%.txt'。 – sohaib
你确定它没有创建一个名为'.txt'的文件吗?如果您查看该文件,可能会发现有'name = yourname'这一行,因为'set'对'='两侧的空格很敏感。在'='之前删除空格,否则你设置一个名为'name [space]' – Magoo