我想通过powershell永久更改当前用户的数字小数分隔符;该机器是Window 10 Professional,因此开箱即用了Set-Culture cmdlet。
我尝试了这个,但是不起作用:
$culture=Get-Culture
$culture.NumberFormat.NumberDecimalSeparator="."
$culture.NumberFormat.NumberGroupSeparator=" "
$culture.NumberFormat.NumberNegativePattern=1
Set-Culture $culture
它不返回任何异常,但是设置不存在。
我以管理员身份执行。
答案 0 :(得分:1)
如评论中所述,Set-Culture
仅接受预定义的文化,而持久地修改文化的唯一方法是采用<通过位于HKEY_CURRENT_USER\Control Panel\International
的注册表对用户当前的区域性设置进行em> user覆盖:
@{ Name = 'sDecimal'; Value = '.' },
@{ Name = 'sThousand'; Value = ' ' },
@{ Name = 'iNegNumber'; Value = 1 } |
ForEach-Object {
Set-ItemProperty 'HKCU:\Control Panel\International' @_
}
这等同于您在问题中所尝试的操作。
这些更改将在将来 PowerShell会话中生效。
请注意,您可能还想通过值sMonDecialSep
,sMonThousandSep
和{{1}更改 currency 值的类似设置}}。
注意:
由于相关的注册表值名称可能不太明显,因此可以使用控制面板(iNegCurr
)交互地更改设置,然后在{{1}处观察对注册表值的影响。 }(通过intl.cpl
)。
如果以后通过HKEY_CURRENT_USER\Control Panel\International
切换到不同区域性,则会丢弃。