INI文件编辑,保存格式

INI file editing, Save format

所以我有一个工作代码。我今天才知道这个,但想知道是否有办法保存格式。 (顺便说一句,在这里找到的)。

$ini = Get-IniContent c:\temp\ini.ini 
$ini["posscreen"]["BitmapFile"] = "C:\Temp\FileC.bmp"  
$ini | Out-IniFile -FilePath c:\temp\ini2.ini

正常情况下是这样的:

 [ShapePageFnt]
 Position=1.73 -2.76 -15.00
 Scale=0.35 0.36 0.38
 ZoneDepth=0
 StringLength=9600
 Font=VerdanaBold
 Color=0xFF000000
 Kerning=0.270000
 String=1/10
 StringAlignment=Left 

 [sgcArialBlack]
 FontFile=ArialBlack.png
 DataFile=ArialBlack.ftd
 StringLength=0
 StringStack=0
 StringAlignment=Center
 Kerning=0.25
 Color=0xFF00AAFF
 Position=0 0 -1000
 Dimension=1 1
 Scale=1 1 1
 String=

 [sgcXtraLabel]
 Position=-3.25 -5.61 -15.00
 Dimension=1.00 1.00
 Scale=0.33 0.33 0.33
 ZoneDepth=-101
 StringLength=20
 Font=VerdanaBold
 Color=0xFFFFFFFF
 String=Xtra Games
 StringAlignment=Center

在运行代码之后:

[ShapePageFnt]
Position=1.73 -2.76 -15.00
Scale=0.35 0.36 0.38
ZoneDepth=0
StringLength=9600
Font=VerdanaBold
Color=0xFF000000
Kerning=0.270000
String=1/10
StringAlignment=Left 
[sgcArialBlack]
FontFile=ArialBlack.png
DataFile=ArialBlack.ftd
StringLength=0
StringStack=0
StringAlignment=Center
Kerning=0.25
Color=0xFF00AAFF
Position=0 0 -1000
Dimension=1 1
Scale=1 1 1
String=
[sgcXtraLabel]
Position=-3.25 -5.61 -15.00
Dimension=1.00 1.00
Scale=0.33 0.33 0.33
ZoneDepth=-101
StringLength=20
Font=VerdanaBold
Color=0xFFFFFFFF
String=Xtra Games
StringAlignment=Center

如有任何帮助,我们将不胜感激。

** 我尝试了 -format 和 -table 只是为了好玩,除了弹出错误什么也没做。** 有没有 /?对于当权者 shell 检查这些条件是否可用?

最终目标:获得代码 运行 并使其输出与输入空格相同的方式。 (代码替换了.ini中的一个设置项)

我下载了脚本并查看了 Out-IniFile 函数的参数。我在那里找到了两个开关参数:

  • Pretty 在 Sections
  • 之间添加了一个额外的换行符
  • Loose 在写 key = value
  • 时在等号周围添加空格

要使用它们,您编写 ini 文件的命令是:

$ini | Out-IniFile -FilePath c:\temp\ini2.ini -Pretty -Loose

该脚本的作者忘记在基于评论的帮助信息中添加参数说明,因此 Get-Help 没有显示它..

我没有足够的声望点数,无法对其他答案发表评论。

是正确的;除了确实记录了 2 个参数: https://github.com/lipkau/PsIni/blob/master/PSIni/Functions/Out-IniFile.ps1#L98-L106

I ♥ PS> help Out-IniFile -Parameter pretty, loose

-Pretty [<SwitchParameter>]
    Writes the file as "pretty" as possible

    Adds an extra linebreak between Sections

    Required?                    false
    Position?                    named
    Default value                False
    Accept pipeline input?       false
    Accept wildcard characters?  false


-Loose [<SwitchParameter>]
    Adds spaces around the equal sign when writing the key = value

    Required?                    false
    Position?                    named
    Default value                False
    Accept pipeline input?       false
    Accept wildcard characters?  false

此外,该模块的 git 存储库是 https://github.com/lipkau/PsIni。 您可以在那里创建缺少功能或一般问题的问题