使用-command PowerShell功能不会在CMD中执行

时间:2013-11-26 11:36:06

标签: powershell command

我正在尝试创建一个PowerShell命令,该命令读取一个注册变量,然后执行一个命令。它使用CMD从命令行执行此操作,并在SYSTEM下运行。

我有以下代码:

powershell.exe -ExecutionPolicy ByPass -WindowStyle Minimized -Command 
"$ErrorActionPreference = 'silentlycontinue' |`
 New-Variable -name UserNameForSapFolderRemoval -Value (get-itemproperty 'HKCU:\Volatile Environment' |`
 Select-Object -ExpandProperty UserName) |`
 Remove-Item $("C:\Users\"+$UserNameForSapFolderRemoval +"\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Sapgui 7.30") -Force -Recurse |`
 Remove-Variable -Name UserNameForSapFolderRemoval"

但它返回:

The string is missing the terminator

我添加了“角色,但没有成功。

知道如何让这个powershell命令运行成功吗?

1 个答案:

答案 0 :(得分:1)

从注册表中解析用户名太复杂了,因为已经存在$env:username。试试这样的事情,

powershell -command { rm -force -recurse "c:\users\$env:username\appdata\whatever" }