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
Please also mark the comments that contributed to the solution of the article
Content-Key: 156101
Url: https://administrator.de/contentid/156101
Printed on: April 27, 2024 at 02:04 o'clock
2 Comments
Latest comment