我使用以下批处理脚本(参见下面的示例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更容易阅读/更新/部署 特别是在我们为此配置添加更多脚本时转发。
答案 0 :(得分:1)
您可以在FOR / F循环中使用delims选项 这将使第一个标记到第一个管道符号
for /f "tokens=1 delims=|" %%a in (file.txt) do (
...