如何更改windows USERNAME环境变量字符串?

问题描述 投票:0回答:1

在一天的大部分时间里都在努力寻找解决方案。总之,我的困境似乎很简单。基于谷歌和Stackoverflow在这一点上的点击,一个有效的解决方案似乎难以捉摸。

(编辑) 我需要澄清用例。我们可能有6个用户需要运行某些使用“%USERNAME%”字符串的脚本来登录区分大小写的环境,Linux,MySQL等。一个用户名是混合大小写的。在这个例子中,我使用了我的名字:“Will”,它必须是脚本:“will”(全部为小写)。

  • 一般的问题是%USERNAME%环境变量值在错误输入时如何变化?

目前我的Windows 7 Professional用户名是“will”,但环境变量具有以下值:

echo.  User = %USERNAME%
  User = Will

我需要它出来:

  User = will
rem      * All lower-case

要清楚......

我想更改(源)值Windows在我登录时设置USERNAME环境变量。

我认为很容易找到设置或配置选项来更改该字符串 - 直到我尝试。我认为这必须经常发生在与让USERNAME一起使用cygwin等相关的问题上。

这个问题

也困扰我,因为这是一个混乱的脚本来“修复”登录环境中的基本内容。

我也在办公室做了快速调查。有些人有混合案例,有一两个人有小写。这似乎是随意的,取决于创建帐户时输入的内容或其他内容。

我们的管理员在域上查找我的帐户(不,不是活动目录),并且与我的登录屏幕相同,“将”(小写)。

最后我做了几个实验。我在“用户”控制面板中更改了用户名

from:  "will" to "xxwill"

认为肯定会更新我的USERNAME字符串。我退出了。我再次做了,然后重新启动了第二次。结果非常令人惊讶(或者可能不应该):

  User = Will
rem      * NO change for the "xxwill" name-change!

更进一步。我创建了一个帐户“dodo”和帐户“Dogdo”,并分别将用户名更改为“Dodo”和“dogdo”。

  User = dodo
  User = Dogdo
rem      * NO change for name-changes!

我看到USERNAME不能以这种方式改变。我无法在“高级”选项中编辑系统环境变量。它可能在个人资料中。但是你可以编辑一个配置文件,甚至只用管理员权限查看它吗?我还不知道;我不确定这是我的首选路线,因为它是某些原始设置的某种“输出”的黑客攻击。

我希望有人可以让我直截了当,所以我不需要那个脚本解决方案。

windows cmd environment-variables username
1个回答
1
投票
@ECHO OFF
SETLOCAL
PUSHD "%temp%"
COPY NUL "%username%" >NUL 2>NUL
FOR /f "delims=" %%a IN ('dir /L /b "%username%"') DO set "usernamelc=%%a"
del "%username%" >NUL 2>NUL
POPD
ECHO %USERNAME% --^> %usernamelc%
GOTO :EOF

也许这可能有所帮助。因人而异。

© www.soinside.com 2019 - 2024. All rights reserved.