2015-12-03 60 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

相關問題