2015-12-03 62 views
1

我使用的是下面的批处理脚本(参见例如下面C),以读取文本文件 的内容,并在一些使用中的变量批处理文件;这工作正常。读变量在一个文本文件,并在批处理文件中忽略在同一行的意见

的问题是file.txt的所有格式。如果可能的话,我想在下面的示例A格式中使用它;然而 它当前格式化为显示在实施例B.

实施例A(file.txt的的优选格式)

VALUE|COMMENT ON VALUE's PURPOSE 
  • 值被读入到脚本
  • 完的值/ (即| @!%等任何帖子后,该字符被脚本忽略)
  • 随后关于值的用途的评论

实施例B(file.txt的的当前格式)

server1 
C: 
10.10.10.1 
::Comments 
::name of server 
::remote server IP address 
::drive the application is installed on 

例C(削减批处理文件的版本被用于参考)

:: SET VARIABLES FROM "file.txt" 
setLocal EnableDelayedExpansion 
for /f "tokens=* delims= " %%a in (file.txt) do (
    set /a N+=1 
    set v[!N!]=%%a 
) 

::variables 
set VER=%v[5]% 
set SRVDRV=%v[6]% 

等..

希望这是可能的,因为它会使file.txt更容易阅读/更新/部署去 向前尤其是在我们这个配置中添加更多的脚本。

回答

1

您可以在FOR/F循环中使用delims选项。
这将需要第一个令牌到第一管道符

for /f "tokens=1 delims=|" %%a in (file.txt) do (
... 
+0

杰布嗨 - 已经完美工作,正是我一直在寻找 - 欣赏迅速作出反应。 – wdjona

相关问题