【问题标题】:Batch File load ini file with comments批处理文件加载带有注释的ini文件
【发布时间】:2012-12-12 03:44:00
【问题描述】:

我想使用批处理脚本来自动化我将交给客户的一些工作。我想给他们一个WITH cmets 的INI 文件(以便他们了解他们在设置什么)。

示例 INI:

[General]
;Set your operating system
OS=Windows7

Read ini from windows batch file 是一个好的开始,但对 cme​​ts 没有帮助。

提前致谢。

【问题讨论】:

标签: batch-file comments ini


【解决方案1】:

FOR 语句具有 EOL 选项,该选项指定一个字符,该字符指示如果该行出现在一行的第一个位置,则该行将被忽略。默认 EOL 字符为 ;,因此您无需执行任何特殊操作即可忽略以 ; 开头的行。

您的要求不是很清楚。我不确定您想对 [General] 之类的部分标签做什么(如果有的话)。我会忽略它们。

您可以使用 FIND 或 FINDSTR 过滤掉任何不包含 = 的行。

这是一个简单的脚本,它将加载 .ini 文件定义的变量。以; 开头的行是 cmets。部分标题被忽略。

@echo off
for /f "delims=" %%A in ('findstr = example.ini') do %%A

【讨论】:

  • 部分标签将用于组织,不需要。但是,这确实会产生除评论之外的另一种标签类型。
  • 如果评论中包含=,可能会中断,但不确定
  • @itdoesntwork - 不,FOR 语句将忽略所有注释行(以; 开头的行),无论内容如何。但它可能会错误地加载包含= 的部分标签。例如,[this=is loaded]。可以定制 FINDSTR 以防止这种情况发生。
猜你喜欢
  • 2011-05-04
  • 2015-01-26
  • 2012-10-17
  • 2011-09-28
  • 2013-09-23
  • 2010-12-15
  • 2015-09-13
  • 2012-01-21
  • 1970-01-01
相关资源
最近更新 更多