Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Zählschleife

Frage Entwicklung Batch & Shell

Mitglied: Pantherstyle

Pantherstyle (Level 1) - Jetzt verbinden

15.04.2009, aktualisiert 18.10.2012, 3253 Aufrufe, 17 Kommentare

Hallo, ich habe eine ähnliche Frage schonmal gestellt, kann sie aber nicht mehr finden. Ich habe folgenden Quellcode:
01.
:: Einfügen der Struktur Dateien 
02.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
03.
echo Zeitstempel: >> %HELP_PATH%\install_backend.sql  
04.
set anz=0  
05.
for /F "skip=1 tokens=1* delims=\" %%i in (%DIFFTOOL_PATH%\veraendertstrukt.txt) do call :zwei %%i\%%j 
06.
goto :eins  
07.
:eins 
08.
set anz=0  
09.
for /F "skip=3 tokens=1* delims=\" %%i in (%DIFFTOOL_PATH%\neustrukt.txt) do call :drei %%i\%%j 
10.
goto :ENDE 
11.
:zwei  
12.
set /a anz=%anz%+1  
13.
echo print 'verStrk %anz%' >> %HELP_PATH%\install_backend.sql  
14.
echo --:r ".\%*" >> %HELP_PATH%\install_backend.sql  
15.
goto :ENDE 
16.
:drei 
17.
set /a anz=%anz%+1  
18.
echo print 'NewStrk %anz%' >> %HELP_PATH%\install_backend.sql 
19.
echo --:r ".\%*" >> %HELP_PATH%\install_backend.sql  
20.
goto :ENDE 
21.
echo Zeitstempel: >> %HELP_PATH%\install_backend.sql  
22.
:ENDE 
23.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
24.
 
25.
:: Einfügen der restlichen Dateien 
26.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
27.
echo Zeitstempel: >> %HELP_PATH%\install_backend.sql  
28.
set anz=0  
29.
for /F "skip=1 tokens=1* delims=\" %%i in (%DIFFTOOL_PATH%\veraendertnorm.txt) do call :count %%i\%%j 
30.
goto :weiter  
31.
:weiter 
32.
set anz=0  
33.
for /F "skip=3 tokens=1* delims=\" %%i in (%DIFFTOOL_PATH%\neunorm.txt) do call :zaehl %%i\%%j 
34.
goto :EOF 
35.
:count  
36.
set /a anz=%anz%+1  
37.
echo print 'ChangeNorm %anz%' >> %HELP_PATH%\install_backend.sql  
38.
echo --:r ".\%*" >> %HELP_PATH%\install_backend.sql  
39.
goto :EOF 
40.
:zaehl 
41.
set /a anz=%anz%+1  
42.
echo print 'NewNorm %anz%' >> %HELP_PATH%\install_backend.sql 
43.
echo --:r ".\%*" >> %HELP_PATH%\install_backend.sql  
44.
goto :EOF 
45.
echo Zeitstempel: >> %HELP_PATH%\install_backend.sql  
46.
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Wie man sieht sollen die 4 Schleifen hochgezählt werden, um ein Ergebnis in etwa der folgenden Form zu liefern:

Zeitstempel:
print 'verStrk 1'
--:r ".\Schema\BI_STAMMDATEN_EXCHANGERATES_REVIEW.sql"
print 'neuStrk 1'
--:r ".\Schema\BI_BILLING_HISTORY_INSERT_SELECT.sql"
Zeitstempel:
print 'ChangeNorm 1'
--:r ".\P\BI_BILLING_HISTORY_INSERT.sql"
print 'ChangeNorm 2'
--:r ".\P\BI_BILLING_HISTORY_INSERT_SELECT.sql"
print 'ChangeNorm 3'
--:r ".\P\BI_EPM_IMPORT.sql"
print 'NewNorm 1'
--:r ".\P\BI_STAMMDATEN_PROJECTS_IMPORT_SELECT.sql"
print 'NewNorm 2'
--:r ".\P\BI_STAMMDATEN_PROJECTS_REVIEW.sql"
print 'NewNorm 3'
--:r ".\P\BI_STAMMDATEN_PROJECTS_REVIEW_SELECT.sql"
Zeitstempel:

Allerdings sieht das Ergebnis noch so aus, dass die 1. Schleife 1 mal, die 2. Schleife nicht, aber die 3. und 4. voll durchlaufen werden.
Wie muss der Code entsprechend geändert werden? Bin für jede Hilfe dankbar!
Mitglied: 60730
15.04.2009, aktualisiert 18.10.2012
Zitat von Pantherstyle:
Hallo, ich habe eine ähnliche Frage schonmal gestellt, kann sie aber nicht mehr finden.

Servus,

Ist bei fast unüberschaubaren 7 Beiträgen aber nun wirklich kein Hexenwerk.
Voila - ging ganz schnell


Vor lauter Wald sehe ich leioder den Baum nicht mehr - aber wundere mich über Zeile 30 & 31:

30. goto :weiter
31.:weiter

Magst du das etwas besser organsieren?
Dann wäre das mit dem Helfen auch schöner.

gruß
Bitte warten ..
Mitglied: Diskilla
15.04.2009 um 11:20 Uhr
Genau das wollte ich auch gerade machen.
Du kannst im Menü links auf Meine Inhalte gehen und da alle deine Beiträge sehen.

Nur so als Tip fürs nächste Mal.

Greetz Diskilla
Bitte warten ..
Mitglied: Pantherstyle
15.04.2009 um 11:28 Uhr
Ich habe das mit dem Mein Inhalte noch nicht gesehen und zum Suchen habe ich die Suchfunktion genutzt (etwas schwer wenn man den namen nicht mehr weis) Bei direkter Suche hatte ich nicht geschaut. Ich hoffe es ist okay, wenn der Beitrag erstmal hier bleibt.

Das mit dem weiter habe ich nicht in Frage gestellt, da ich im Allgemeinen nicht dahinter komme wie das funktionieren kann. Wäre trotzdem nett wenn ihr mich mit der Nase in die Fehler tunken könntet. Das mit dem weiter ist an sich schon unlogisch...
Bitte warten ..
Mitglied: Pantherstyle
15.04.2009 um 11:30 Uhr
Ich habe es gerade getestet, ohne das weiter funktioniert es nicht mehr.
Bitte warten ..
Mitglied: Biber
15.04.2009 um 11:33 Uhr
Moin Steilpanda,

und als weitere zwei Tipps fürs Gröbste.
  • einzelne CALL :whatever-Blöcke beginnen mit ":blockname" (hast du) und MÜSSEN mit "goto :eof" abgeschlossen werden
  • einzige Ausnahme ist ein geCALLter Block, dessen letzte zeile auch gleichzeitig die letze Codezeile des gesamten batches ist - dann kann ein "goto :eof" entfallen
  • noch deutlicher gesagt - es darf NICHT alternativ ein "goto :ENDE" oder "goto :Hell" am CALL-Blockende stehen, nur "goto :eof" wird als "kehre zurück zur aufrufenden Batchzeile" interpretiert
  • weiterer Tipp: Zeile 21 ist unerreichbar (wird nie ausgeführt), da unmittelbar davor ein unbedingtes "goto :Woanders" steht

Grüße
Biber
Bitte warten ..
Mitglied: Pantherstyle
15.04.2009 um 11:45 Uhr
Dieser Code stammt leider nicht von mir. Ich habe in bestimmt mer als eine halbe Stunde studiert, aber nicht entschlüsseln können, zumal mir die wirkung von eof in diesem Zusammenhang vollständig logisch erscheint. Bitte geht es etwas konkreter mit den Hilfen?
Bitte warten ..
Mitglied: Biber
15.04.2009 um 12:42 Uhr
Moin Panda,

dann aber vorher noch mal die Rückfrage bzw. Bitte:
Kannst Du den vollständigen Code posten?
Denn es fehlen zumindest die Zeilen, in denen die Variablen %HELP_PATH% usw. definiert werden.

Und dann ziehen wir es auch umgehend glatt.

Grüße
Biber
Bitte warten ..
Mitglied: Pantherstyle
15.04.2009 um 12:43 Uhr
Na Klar doch:
01.
echo off 
02.
:: 
03.
:: Dieses tool dient der Erstellung einer Installationsroutine für SQL Dateien 
04.
:: und ist im Zusammenhang mit dem Difftool.bat zu verwenden, da dieses die 
05.
:: Ausgangstextdateien liefert.  
06.
:: 
07.
 
08.
:: Angabe der Pfade durch den User 
09.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
10.
:: Pfad zur PrologSqlInstall.txt Datei 
11.
set PROLOG_PATH=C:\Arbeitskopie\trunk\Daten\SoftwarePaket\Batch-Dateien\Difftools 
12.
:: Pfad wo die Ergebnisse angelegt werden sollen 
13.
set HELP_PATH=C:\Arbeitskopie\SqlInstall 
14.
::Pfad zu den Ergebnissen von Difftool 
15.
set DIFFTOOL_PATH=C:\Arbeitskopie\Hilfsordnerbflexxdateien 
16.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
17.
 
18.
:: Vorbereitung der Pfade 
19.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
20.
rd %HELP_PATH% /s /q 
21.
mkdir %HELP_PATH% 
22.
echo > %HELP_PATH%\install_backend.sql 
23.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
24.
 
25.
:: Einlesen des Prologs 
26.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
27.
copy %PROLOG_PATH%\PrologSqlInstall.txt %HELP_PATH%\install_backend.sql 
28.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
29.
 
30.
:: Einfügen der sql Logik 
31.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
32.
echo. >> %HELP_PATH%\install_backend.sql 
33.
echo print convert(varchar, getdate(), 114)+':Starting installation' >> %HELP_PATH%\install_backend.sql 
34.
echo --go at least >> %HELP_PATH%\install_backend.sql 
35.
echo go >> %HELP_PATH%\install_backend.sql 
36.
echo -- call create function script >> %HELP_PATH%\install_backend.sql 
37.
echo print convert(varchar, getdate(), 114)+' Part 1:' >> %HELP_PATH%\install_backend.sql 
38.
echo -- install all utility function first >> %HELP_PATH%\install_backend.sql 
39.
echo installchanges: -- Sprungziel >> %HELP_PATH%\install_backend.sql 
40.
echo -- Zeitstempel vorher ausgeben >> %HELP_PATH%\install_backend.sql 
41.
echo print convert(varchar, getdate(), 114)+' Part 6: Changing procedures' >> %HELP_PATH%\install_backend.sql 
42.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
43.
 
44.
echo Ihre SQL Installationsdatei wird erstellt, Sie finden diese unter: 
45.
echo %HELP_PATH%\install_backend.sql 
46.
echo Bitte fuegen Sie der erstellten Datei folgende CodeZeile als Schlusszeile hinzu 
47.
echo print convert(varchar, getdate(), 114)+':Installation done.' 
48.
Pause 
49.
 
50.
:: Einfügen der Dateien 
51.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
52.
set anz=0  
53.
for /F "skip=1 tokens=1* delims=\" %%i in (%DIFFTOOL_PATH%\veraendert.txt) do call :count %%i\%%j 
54.
goto :weiter  
55.
:weiter 
56.
set anz=0  
57.
for /F "skip=3 tokens=1* delims=\" %%i in (%DIFFTOOL_PATH%\neu.txt) do call :zaehl %%i\%%j 
58.
goto :EOF 
59.
:count  
60.
set /a anz=%anz%+1  
61.
echo print 'Change %anz%' >> %HELP_PATH%\install_backend.sql  
62.
echo --:r ".\%*" >> %HELP_PATH%\install_backend.sql  
63.
goto :EOF 
64.
:zaehl 
65.
set /a anz=%anz%+1  
66.
echo print 'New %anz%' >> %HELP_PATH%\install_backend.sql 
67.
echo --:r ".\%*" >> %HELP_PATH%\install_backend.sql  
68.
goto :EOF 
69.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
70.
 
71.
:: Zeitstempel ende 
72.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
73.
echo print convert(varchar, getdate(), 114)+':Installation done.' >> %HELP_PATH%\install_backend.sql 
74.
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Bitte warten ..
Mitglied: Biber
15.04.2009 um 14:33 Uhr
Moin Panda,

dann wären das so die Korrekturen, die mir im ersten Anlauf ein- und auffallen:

01.
echo off & setlocal 
02.
:: 
03.
:: Dieses tool dient der Erstellung einer Installationsroutine für SQL Dateien 
04.
:: und ist im Zusammenhang mit dem Difftool.bat zu verwenden, da dieses die 
05.
:: Ausgangstextdateien liefert.  
06.
:: 
07.
 
08.
:: Angabe der Pfade durch den User 
09.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
10.
:: Pfad zur PrologSqlInstall.txt Datei 
11.
set "PROLOG_PATH=C:\Arbeitskopie\trunk\Daten\SoftwarePaket\Batch-Dateien\Difftools" 
12.
:: Pfad wo die Ergebnisse angelegt werden sollen 
13.
set "HELP_PATH=C:\Arbeitskopie\SqlInstall" 
14.
::Pfad zu den Ergebnissen von Difftool 
15.
set "DIFFTOOL_PATH=C:\Arbeitskopie\Hilfsordnerbflexxdateien" 
16.
Set "newSql=%HELP_PATH%\install_backend.sql" 
17.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
18.
 
19.
:: Vorbereitung der Pfade 
20.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
21.
rd %HELP_PATH% /s /q 
22.
mkdir %HELP_PATH% 
23.
echo.> %newSQL% 
24.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
25.
 
26.
:: Einlesen des Prologs 
27.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
28.
copy %PROLOG_PATH%\PrologSqlInstall.txt %newSQL% 
29.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
30.
 
31.
:: Einfügen der sql Logik 
32.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
33.
echo. >> %newSQL% 
34.
echo print convert(varchar, getdate(), 114)+':Starting installation' >> %newSQL% 
35.
echo --go at least >> %newSQL% 
36.
echo go >> %newSQL% 
37.
echo -- call create function script >>%newSQL% 
38.
echo print convert(varchar, getdate(), 114)+' Part 1:' >>%newSQL% 
39.
echo -- install all utility function first >>%newSQL% 
40.
echo installchanges: -- Sprungziel >>%newSQL% 
41.
echo -- Zeitstempel vorher ausgeben >>%newSQL% 
42.
echo print convert(varchar, getdate(), 114)+' Part 6: Changing procedures' >>%newSQL% 
43.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
44.
 
45.
echo Ihre SQL Installationsdatei wird erstellt, Sie finden diese unter: 
46.
echo.%newSQL% 
47.
echo Bitte fuegen Sie der erstellten Datei folgende CodeZeile als Schlusszeile hinzu 
48.
echo print convert(varchar, getdate(), 114)+':Installation done.' 
49.
Pause 
50.
 
51.
:: Einfügen der Dateien 
52.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
53.
set /a anz=0  
54.
for /F "skip=1 tokens=1* delims=\" %%i in (%DIFFTOOL_PATH%\veraendert.txt) do call :count %%i\%%j 
55.
REM #Bugfix s.u #  hier steht besser kein Goto :LetzteZeile 
56.
 
57.
 
58.
:weiter 
59.
set /a anz=0  
60.
for /F "skip=3 tokens=1* delims=\" %%i in (%DIFFTOOL_PATH%\neu.txt) do call :zaehl %%i\%%j 
61.
REM #Bugfix s.u # hier steht besser kein goto :EOF 
62.
Goto :LetzteZeile 
63.
:count  
64.
set /a anz=%anz%+1  
65.
echo print 'Change %anz%' >>%newSQL% 
66.
echo --:r ".\%*" >>%newSQL% 
67.
goto :EOF 
68.
 
69.
:zaehl 
70.
set /a anz=%anz%+1  
71.
echo print 'New %anz%' >>%newSQL% 
72.
echo --:r ".\%*" >>%newSQL% 
73.
goto :EOF 
74.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
75.
 
76.
:: Zeitstempel ende 
77.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
78.
:LetzteZeile 
79.
echo print convert(varchar, getdate(), 114)+':Installation done.' >>%newSQL% 
80.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
81.
 
[ungetestet]

Grüße
Biber
Bitte warten ..
Mitglied: Pantherstyle
15.04.2009 um 14:46 Uhr
Es funktioniert, aber es macht nur einen einzigen Durchlauf für Change. Ich benötige allerdings alle 4 Durchläufe.
Jetziges Ergebnis:

print 'Change 1'
--:r ".\FN\BfxFctMasterGetOption.sql"
print 'Change 2'
--:r ".\FN\UTIL_isFileExistent.sql"
print 'Change 3'
etc....

Da war es vorher besser denn es hat noch new usw. mit angezeigt ;D...

Wie muss das umgebaut werden, damit es meine 4 Dateien ausliest und hochzählt? Ich meine so wie im 1. Post beschrieben.
Bitte warten ..
Mitglied: Biber
15.04.2009 um 14:55 Uhr
Moin,

na ja, dieser Batch ist ja sozusagen data driven ... ob da nun 2 oder 7 oder 11 Dateien ausgelesen und hochgezählt werden, hängt ja davon ab, was in der "DIFFTOOL_PATH%\veraendert.txt" und der "%DIFFTOOL_PATH%\neu.txt" an Dateinamen steht.

Was steht den jetzt z.B. darin?

Grüße
Biber
Bitte warten ..
Mitglied: Pantherstyle
15.04.2009 um 15:09 Uhr
Dort stehen exakt die Dinge drin die du oben lesen kannst z.B. FN\BfxFctMasterGetOption.sql

Allerdings wird in dem von dir geposteten Text neu.txt gar nicht ausgelesen bzw. verwendet. Die 4 Dokumente aus denen gelesen wird (veraendertstrukt.txt, neustrukt.txt, veraendertnorm.txt und neunorm.txt) enthalten mehrere Dutzend dieser Dateinamen.

Diese sollen wie in der oben beschriebenen Form untereinander ín die sqlinstall Datei geschrieben werden.
Bitte warten ..
Mitglied: Pantherstyle
15.04.2009 um 15:10 Uhr
Ich hätte mir dies in etwa so vorgestellt:
01.
:: Einfügen der Dateien 
02.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
03.
set anz=0  
04.
for /F "skip=1 tokens=1* delims=\" %%i in (%DIFFTOOL_PATH%\veraendertstrukt.txt) do call :zaehleins %%i\%%j 
05.
goto :eins  
06.
:eins 
07.
set anz=0  
08.
for /F "skip=3 tokens=1* delims=\" %%i in (%DIFFTOOL_PATH%\neustrukt.txt) do call :zaehlzwei %%i\%%j 
09.
goto :zwei 
10.
:zwei 
11.
set anz=0  
12.
for /F "skip=3 tokens=1* delims=\" %%i in (%DIFFTOOL_PATH%\veraendertnorm.txt) do call :zaehldrei %%i\%%j 
13.
goto :drei 
14.
:drei 
15.
set anz=0  
16.
for /F "skip=3 tokens=1* delims=\" %%i in (%DIFFTOOL_PATH%\neunorm.txt) do call :zaehlvier %%i\%%j 
17.
goto :EOF 
18.
:zaehleins  
19.
set /a anz=%anz%+1  
20.
echo print 'ChangeStrukt %anz%' >> %HELP_PATH%\install_backend.sql  
21.
echo --:r ".\%*" >> %HELP_PATH%\install_backend.sql  
22.
goto :EOF 
23.
:zaehlzwei 
24.
set /a anz=%anz%+1  
25.
echo print 'NewStrukt %anz%' >> %HELP_PATH%\install_backend.sql 
26.
echo --:r ".\%*" >> %HELP_PATH%\install_backend.sql  
27.
goto :EOF 
28.
:zaehldrei 
29.
set /a anz=%anz%+1  
30.
echo print 'ChangedNorm %anz%' >> %HELP_PATH%\install_backend.sql 
31.
echo --:r ".\%*" >> %HELP_PATH%\install_backend.sql  
32.
goto :EOF 
33.
:zaehlvier 
34.
set /a anz=%anz%+1  
35.
echo print 'ChangedStrukt %anz%' >> %HELP_PATH%\install_backend.sql 
36.
echo --:r ".\%*" >> %HELP_PATH%\install_backend.sql  
37.
goto :EOF 
38.
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Bitte warten ..
Mitglied: Biber
15.04.2009 um 16:44 Uhr
Moin Panda,

sorry, ich war da zu schwungvoll...
  • das neu reingebrachte "goto :letzteZeile" in meiner vorhin geposteten Zeile 55 muss DORT RAUS
  • und statt dessen in die Zeile 61 (wo jetzt ein "goto :Eof" steht. Ich ändere es oben auch im Source.


Grüße
Biber
Bitte warten ..
Mitglied: Pantherstyle
16.04.2009 um 08:11 Uhr
Wie gesagt, wäre ich auch mit deinem Tipp noch am Anfang, Sinn der Ganzen Sache ist es, das Programm 4 Schleifen durchlaufen zu lassen für die 4 Dokumente die ich vorliegen habe.
Bitte warten ..
Mitglied: Pantherstyle
16.04.2009 um 09:58 Uhr
Keiner eine Idee? oder ist die Aufgabenstellung unklar?
Bitte warten ..
Mitglied: Pantherstyle
16.04.2009 um 11:49 Uhr
Ich habe noch einmal gebastelt und dabei folgenden Code erstellt:
01.
set /a anz=0   
02.
for /F "skip=1 tokens=1* delims=\" %%i in (%DIFFTOOL_PATH%\veraendertstrukt.txt) do call :eins %%i\%%j  
03.
 
04.
set /a anz=0   
05.
for /F "skip=3 tokens=1* delims=\" %%i in (%DIFFTOOL_PATH%\neustrukt.txt) do call :zwei %%i\%%j 
06.
 
07.
set /a anz=0   
08.
for /F "skip=3 tokens=1* delims=\" %%i in (%DIFFTOOL_PATH%\veraendertnorm.txt) do call :drei %%i\%%j 
09.
 
10.
set /a anz=0   
11.
for /F "skip=3 tokens=1* delims=\" %%i in (%DIFFTOOL_PATH%\neunorm.txt) do call :vier %%i\%%j  
12.
Goto :LetzteZeile  
13.
 
14.
:eins 
15.
set /a anz=%anz%+1   
16.
echo print 'ChangeStrukt %anz%' >>%newSQL%  
17.
echo --:r ".\%*" >>%newSQL%  
18.
goto :EOF  
19.
 
20.
:zwei  
21.
set /a anz=%anz%+1   
22.
echo print 'NewStrukt %anz%' >>%newSQL%  
23.
echo --:r ".\%*" >>%newSQL%  
24.
goto :EOF  
25.
 
26.
:drei  
27.
set /a anz=%anz%+1   
28.
echo print 'ChangeNorm %anz%' >>%newSQL%  
29.
echo --:r ".\%*" >>%newSQL%  
30.
goto :EOF 
31.
 
32.
:vier  
33.
set /a anz=%anz%+1   
34.
echo print 'NewNorm %anz%' >>%newSQL%  
35.
echo --:r ".\%*" >>%newSQL%  
36.
goto :EOF
Wie manns sich aber denken kann funktioniert der Code nicht. Irgendwie steige ich nicht so ganz hinter die Logik die da drin steckt. Warum funktioniert das nicht, bzw. was muss ich ändern damit es funktioniert, oder kann es vielleicht nicht funktionieren?

Wäre für jede Hilfe dankbar!
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...