簡體   English   中英

在批處理腳本中從文本文件讀取變量值

[英]reading variables value from text file in batch script

在我的BAT文件中,我想從.txt文件中讀取這些數據,並且需要將每個數據設置為一個變量

    SQLUserName=MFiles
    WrapperSQLServerName=usa.com
    WrapperDatabase=Wrapper
    WrapperAssemblyLocation=D:\Assembly
    MFilesNetworkAddress=USA-S1
    MFilesVaultName=MF2
    MFilesUsername=User
    MFilesPassword=
    MFilesVaultGUID={26F30-E120-408C-8035-04D85D6}
    MFilesWebServerURL=www.WebServer.com
    SQLMailProfileName=NoReply
    WrapperSupportEmail=thejus@WebServer.com

我嘗試了這段代碼

FOR /F "tokens=2 delims==" %%a IN ('find "WrapperSupportEmail" ^<config.txt') DO SET SupportEmail=%%a

但這會引發錯誤

find is not recognized as an internal or external command operable program or batch file

請幫我

Thejus電視台

如果輸入文件的模式是固定的(keyword = value),並且您想將所有值分配給名為variabel的環境,則它非常簡單。 嘗試這個:

for /f "tokens=1,2 delims==" %i in (config.txt) do set %i=%j

如果要將此調用放入cmd文件,請記住將%i和%j更改為%% i和%% j。

當兩個聲譽很高的成員告訴您它可行時,那么至少嘗試一下應該不是所有想法中最糟糕的。

rem @echo off
for /f "delims=" %%i in (config.txt) do set _%%i
pause
set _

REM d的@echo off ,所以你可以看,每一條線怎么弄的處理。

(您的原始錯誤find is not recognized ...可能是因為您弄亂了%path%變量,但您無需為此任務find 。)

我的代碼僅是正確的。 唯一的問題是Windows無法找到find.exe 我在同一位置包含了.exe,之后一切正常。

無需添加Find.exe,即可在Win 7和Win 10中正常工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM