Ich stellte eine Frage, aber es wurde nicht vollständig erklärt, so dass das meine Frage ist.Batch Script Wie Variabes in eine andere Variable gesetzt werden
Ich habe settings.ini im Inneren Es gibt Abschnitte mit Variablen
[HideAndSeekEvent]
EventRunning=[Hide And Seek Event] Has started at [ %placenameHS% ].
und bekam eine andere Batch-Datei ini.bat
genannt@setlocal enableextensions enabledelayedexpansion
@echo off
set file=%~1
set area=[%~2]
set key=%~3
set currarea=
for /f "usebackq delims=" %%a in ("!file!") do (
set ln=%%a
if "x!ln:~0,1!"=="x[" (
set currarea=!ln!
) else (
for /f "tokens=1,2 delims==" %%b in ("!ln!") do (
set currkey=%%b
set currval=%%c
if "x!area!"=="x!currarea!" if "x!key!"=="x!currkey!" (
echo !currval!
)
)
)
)
endlocal
und eine andere bat-Datei Getdata.bat genannt Variablen zu nennen dort aus INI-Datei und für diesen Abschnitt ist
for /f "delims=" %%a in ('call ini.cmd settings.ini HideAndSeekEvent EventRunning') do (
set EventRunningeHS=%%a
)
in meiner Haupt-.bat-Datei iam ca Befüllungs die Getdata.bat
Dateiin meinem Haupt-.bat bekam ich soetwas wie dieses
SET placenameHS=Hotan
echo %EventRunningeHS%
es
[Hide And Seek Event] Has started at [ Hotan ].
zeigen sollte Aber es zeigen:
[Hide And Seek Event] Has started at [ %placenameHS% ].
[ HINWEIS] Ich setze nicht den Ortsnamen, den ich von SQLCMD bekommen habe Anfrage
osql -S %Server% -U %SQLUser% -P %SQLPass% -d Dother_Events -Q "SET NOCOUNT ON; SELECT Place_Name FROM _HideANDSeek_Map WHERE ID = %IDHS%" %osqluser% -b -w 9999 -h-1 -o .\Logs_in_use\HSLN7.txt
set /p HSLN7=<.\Logs_in_use\HSLN7.txt
'nennen echo% EventRunningeHS%' sollte innere '% placenameHS%' – JosefZ
@JosefZ erweitern: Ja Ich habe diese Lösung bereits in [meine Antwort] (http://stackoverflow.com/questions/36958759/batch-script-how-to-set-variabes-inside-another-variable/36959503#36959503) zu den anderen OPs gegeben Frage zum selben Thema ... – Aacini
@Aacini Ich habe mir gedacht, dass diese Art von Frage irgendwo bei SO eine Antwort haben muss. Zu faul, um zu suchen :) Allerdings habe ich das Gefühl, dass die Frage des OP gut ausgearbeitet ist und keine Strafe verdient, indem man sie als Duplikat markiert. Bitte geben Sie Ihre Antwort ... – JosefZ