Dan*_*erg 2 variables powershell
我正在尝试运行以下脚本,我认为这很简单.我在做什么呢?
[Environment]::UserName = $username
Write-Host "The user is $username"
$from = "c:\Users\" + $username + "\favourites\*.*"
$to = "c:\test"
Write-Host "This is from dir: $from"
Write-Host "This is to dir: $to"
Copy-Item $from $to
Run Code Online (Sandbox Code Playgroud)
该剧本似乎不喜欢+ $username +......
我认为你的第一线是错误的.目前你正在分配一个空变量(应该是它的值$null)$Env:UserName,从而覆盖用户名,而不是读取它.
我认为应该是
$username = [Environment]::Username
Run Code Online (Sandbox Code Playgroud)
或者,如上所述,您可以通过特殊Env:驱动器访问环境变量:
$username = $Env:Username
Run Code Online (Sandbox Code Playgroud)
与您的问题无关,只需更好的代码:
您可以将用户名直接放入字符串(您似乎知道,如上图所示 - 在这种情况下您不需要字符串):
$from = "C:\Users\$username\favourites\*"
Run Code Online (Sandbox Code Playgroud)您根本不需要获取用户名,您可以使用
$Env:UserProfile
Run Code Online (Sandbox Code Playgroud)
要么
[Environment]::GetFolderPath([Environment+SpecialFolder]::UserProfile)
Run Code Online (Sandbox Code Playgroud)
甚至
[Environment]::GetFolderPath([Environment+SpecialFolder]::Favorites)
Run Code Online (Sandbox Code Playgroud)
这可能最终是你所追求的.
| 归档时间: |
|
| 查看次数: |
11628 次 |
| 最近记录: |