【问题标题】:setx in Windows 10 removes backslashesWindows 10 中的 setx 删除了反斜杠
【发布时间】:2023-03-22 22:53:01
【问题描述】:

我正在尝试在 Windows 10 中设置我的 HOME 路径:

setx -m HOME C:\Users\MyName

然后我检查变量的值:

echo %HOME%

然后它返回

c:UsersMyName

这很痛苦,因为我正在尝试将 Git 与 ssh 一起使用,并且它需要知道存储我的 .ssh 文件夹的主文件夹。我做错了什么?

【问题讨论】:

  • setx -m HOME %USERPROFILE% 有效吗?或setx -m HOME "C:\Users\MyName"
  • 如果您需要使用setx,那么您可能做错了。 setx 用于永久设置变量,因此只能设置一次,并且可以用其他方法(如编辑注册表)替换。此外你不需要%HOME%,因为已经有%USERPROFILE%

标签: windows setx


【解决方案1】:

您可能从bash 拨打setx。由于\ 是 bash 和大多数其他 Unix shell 中的 escape character,它不会导致文字反斜杠。您需要使用 \ 转义反斜杠本身或使用 ' 引用它:

$ echo setx -m HOME C:\Users\MyName setx -m HOME C:UsersMyName $ echo setx -m HOME 'C:\Users\MyName' setx -m HOME C:\Users\MyName $ echo setx -m HOME C:\\Users\\MyName setx -m HOME C:\Users\MyName

或者只是从 cmd 或 powershell 等 Windows shell 调用setx。但正如我所说,如果您每次运行时都需要从脚本中调用setx,那么您做错了。在这种情况下,您需要使用普通的set

set "HOME=%USERPROFILE%"

【讨论】:

    猜你喜欢
    • 2016-06-16
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 2020-12-24
    • 1970-01-01
    • 2019-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多