Zusammengesetzte Umgebungsvariable im Batchfile
Hallo,
ich hoffe ihr verzeiht mir die Kurzausführung meiner Problembeschreibung.
Nachdem ich gerade einige Zeit investiert habe um mein Problem schön zu beschreiben, dann aber den Text durch den Zwangslogout nach gefühlt 5Min verloren habe, fehlen mir nun die Kapazitäten alles noch einmal von vorne zu machen. Deshalb die Kurzversion
Folgend mein zusammengekürztes Codebeispiel:
Ich durchsuche verschieden .sql-Dateien nach dem String CREATE TABLE (mehrfach pro Datei vorhanden) und speichere die entsprechende Zeilennummer in einer zusammengesezten Umgebungsvariable ab (Teil 1 der Beispiels). Dies funktiert auch sehr gut. Ein SET create zeigt mir die entsprechendne Zeilennummern:
Leider bekomme beim Abfragen des Variableninhalts (echo !%%i_ZeileAb[!!counter!!]! ) immer nur den Wert 1 zurück.
Weiß vielleicht jemand wo meine Problem liegt. Ein ähnliches Problem hatte ich bereits beiläufig in meinem Post am Montag beschreiben, doch leider konnte mir wohl niemand weiterhelfen.
Schon mal Danke für eure Mühen und schöen Grüße,
Mario
ich hoffe ihr verzeiht mir die Kurzausführung meiner Problembeschreibung.
Nachdem ich gerade einige Zeit investiert habe um mein Problem schön zu beschreiben, dann aber den Text durch den Zwangslogout nach gefühlt 5Min verloren habe, fehlen mir nun die Kapazitäten alles noch einmal von vorne zu machen. Deshalb die Kurzversion
Folgend mein zusammengekürztes Codebeispiel:
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /a:-d /b *.SQL') do (
set /a counter=1
for /f "delims=:" %%j in ('findstr /n /c:"CREATE TABLE" %%i') do (
set %%i_ZeileAb[!counter!]=%%j
set /a counter=!counter! + 1
)
set /a counter=1
for /f "delims=: tokens=1,2" %%l in ('findstr /n "^" %%i') do (
echo if %%l gtr !%%i_ZeileAb[!!counter!!]!
)
)
pause
Ich durchsuche verschieden .sql-Dateien nach dem String CREATE TABLE (mehrfach pro Datei vorhanden) und speichere die entsprechende Zeilennummer in einer zusammengesezten Umgebungsvariable ab (Teil 1 der Beispiels). Dies funktiert auch sehr gut. Ein SET create zeigt mir die entsprechendne Zeilennummern:
create.SQL_ZeileAb[1]=11
create.SQL_ZeileAb[2]=21
create2.SQL_ZeileAb[1]=4
create2.SQL_ZeileAb[2]=14
Leider bekomme beim Abfragen des Variableninhalts (echo !%%i_ZeileAb[!!counter!!]! ) immer nur den Wert 1 zurück.
Weiß vielleicht jemand wo meine Problem liegt. Ein ähnliches Problem hatte ich bereits beiläufig in meinem Post am Montag beschreiben, doch leider konnte mir wohl niemand weiterhelfen.
Schon mal Danke für eure Mühen und schöen Grüße,
Mario
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 156101
Url: https://administrator.de/contentid/156101
Ausgedruckt am: 19.11.2024 um 20:11 Uhr
2 Kommentare
Neuester Kommentar