我在几个批处理脚本中使用 PowerShell 单行,但似乎未能正确转义以下一个:
如果未定义语言 ( for /f "usebackq" %%v in (`PowerShell.exe -NoProfile -ExecutionPolicy Bypass -Command "(Get-ItemPropertyValue -Path 'HKCU:Control Panel\International\' -Name 'LocaleName').Split('-' )[0]"`) 设置 LANGUAGE=%%v )
我确认这是我的批处理文件中失败的行。代码背后的想法是从注册表中读取值并将连字符之前的第一部分分配给环境变量。因此,如果注册表值为“de-DE”,则 LANGUAGE 的值应为“de”。