%temp%等无效

lar*_*400 23 powershell

我有以下用作启动powershell的批处理文件(过了很长时间但是在另一个脚本中使用).

无论如何,我注意到%systemroot%\ temp和%systemroot%不起作用.

知道如何解决这个问题吗?

%systemroot%\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Unrestricted -File %SystemRoot%\TEMP\ROFS\testing_script_log.ps1
Run Code Online (Sandbox Code Playgroud)

谢谢,

Eri*_*son 41

如果从PowerShell而不是从CMD执行该行,则可以使用PowerShell环境变量语法:

PS C:\> & "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell.exe"
Run Code Online (Sandbox Code Playgroud)


Old*_*art 11

您可以使用[Environment] :: ExpandEnvironmentVariables以旧式方式扩展字符串中的环境变量.

$s = '%systemroot%\temp'
[Environment]::ExpandEnvironmentVariables($s)
Run Code Online (Sandbox Code Playgroud)