首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows环境变量名称和值的有效字符是什么?

问Windows环境变量名称和值的有效字符是什么?
EN

Stack Overflow用户
提问于 2013-12-17 21:39:05
回答 3查看 13.8K关注 0票数 23

经过一番研究,我发现

长度限制

for名称长度为255个字符,for值长度为32767个字符。

但是允许哪些字符

名字

以及允许哪些字符

值

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-17 21:46:08

关于变量值:可以使用大多数字符作为变量值,包括空格。如果使用特殊字符<、>、|、&或^,则必须在它们前面加上转义字符(^)或引号。如果使用引号,它们将作为值的一部分包括在内,因为等号后面的所有内容都被视为值。

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds

_

shelloverview.mspx?mfr=true

查看“设置环境变量”部分。

关于变量名:在我看来,为了最好地与每个应用程序兼容,您应该限制自己使用字母、数字、下划线(

_

)和减号(-)。

我非常确定文件的所有POSIX有效字符都是正确的,但我没有找到任何证据证明这一点。

关于变量名,我们还需要接受括号,因为

是一位著名的恩瓦尔人。根据我的实验,似乎除了字母和数字字符之外,这些字符也是有效的

并且这些字符无效

..。

我没有做详尽的搜索,只是测试了大多数常见的非字母数字字符。

为了好玩,你可以命名一个envar

代码语言:javascript
复制
C:\>set _(){}[]$*+-\/"#',;.@!?=xyz

C:\>echo %_(){}[]$*+-\/"#',;.@!?%
xyz
票数 24
EN

Stack Overflow用户

发布于 2017-02-28 18:03:01

看起来像是

也是有效的字符,只要它们被正确地转义:

代码语言:javascript
复制
C:\>set ^<^>^^^&^|=xyz

C:\>echo %<>^&|%
xyz
票数 6
EN

Stack Overflow用户

发布于 2018-07-03 16:54:37

似乎唯一禁止的字符是等号("=")

https://docs.microsoft.com/en-us/windows/win32/procthread/environment-variables

环境变量的名称不能包含等号(=)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20635695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档