windows 在New-Item -ItemType目录中使用变量$USER_HOME

2ledvvac  于 2022-11-26  发布在  Windows
关注(0)|答案(1)|浏览(195)

为了让PowerShell在$USER_HOME目录中创建mysubdirectory(无论该目录在任何给定计算机上的名称如何),必须更改以下命令中的哪种特定语法?
我们目前在GitHub runner中使用的命令是脆弱的,因为它显式地输入了GitHub runner的用户主页,如下所示:

New-Item -ItemType Directory -Force -Path C:\\Users\\runneradmin\\mysubdirectory\\

如何修改上面的单行命令,将$USER_HOME表示为变量,而不是脆弱字符串C:\\Users\\runneradmin

bvn4nwqk

bvn4nwqk1#

PowerShell的自动$HOME变量反映了当前用户的主目录(配置文件),在Windows上相当于$env:USERPROFILEUSERPROFILE环境变量)[1] --尽管在撰写本文时,链接的帮助主题是如何说明的;[2]在类Unix平台上,它相当于$env:HOME

New-Item -ItemType Directory -Force -Path $HOME\mysubdirectory

顺便说一句:在PowerShell中,\ * 不是 * 元字符,因此没有理由将其加倍以用于文字用途。
[1]可以说,它应该是${env:HOMEDRIVE}${env:HOMEPATH}的等价物,* 默认情况下,通常 * 与$env:USERPROFILE相同,但可以配置为指向不同的位置-请参阅GitHub问题#17685的这条评论了解背景信息。
[2][GitHub docs issue #9463](https://github.com/MicrosoftDocs/PowerShell-Docs/issues/9463)请求更正。

相关问题