gelöst Batch Parameter Argumente Übergabe Problem
Hallo zusammen,
ich hoffe ich bekomme hier wieder die gewünschte Hilfe, da ich mit meinen sehr eingeschränkten Batchkenntnissen am Ende bin.
Ich habe eine CSV Datei die wie Folgt aussieht.:

Ziel dieser Batch ist es, ein Konfigtemplate eines Routers automatisiert nach CSV ausfüllen zu lassen.
Dies funktioniert bislang auch super, BIS auf ein großes Problem, das ich nicht hin bekomme bzw. verstehe.
!!!!!! PROBLEM: Alles was in "tokens" definiert ist, wird nicht im nachfolgendem korrekt dargestellt. Der 4. Token wird leider nicht übersprungen, aber beim 8. Token funktioniert es einwandfrei. Warum überspringt er nicht den 4. Token??? !!!!!
wenn ich dann zum Test folgendes einfüge:
sehe ich, dass von der CSV Spalte D das 1 Octet die 10 (%eo%)
nicht übersprungen wird.
Das %eo% wird nicht benötigt da dies schon im Template/Vorlage vorhanden ist und immer gleich bleibt.
Anfangen sollte er eigentlich mit dem zweiten Oktet (%zo%).
Dies funktioniert auch in CSV Spatle E aber leider nicht in CSV Spalte D.
Jetzt die große Frage:
Wieso gibt er mir für %zo% bei Echo %zo% die 10 aus und im Outputfile wird diese Position zweites Octet %zo% dann mit "leer" ersetzt. -> 1stTimeSrv 10..0.11 --- bei der Vorlage/Template sieht es zuerst so aus 10.ZZ.0.11 Das ZZ soll dann erstezt werden mit dem %zo% in dem Beispiel-Fall die 25
Vielen Dank Vorab für die Hilfe
Gruß
Andreas
ich hoffe ich bekomme hier wieder die gewünschte Hilfe, da ich mit meinen sehr eingeschränkten Batchkenntnissen am Ende bin.
Ich habe eine CSV Datei die wie Folgt aussieht.:

Ziel dieser Batch ist es, ein Konfigtemplate eines Routers automatisiert nach CSV ausfüllen zu lassen.
Dies funktioniert bislang auch super, BIS auf ein großes Problem, das ich nicht hin bekomme bzw. verstehe.
!!!!!! PROBLEM: Alles was in "tokens" definiert ist, wird nicht im nachfolgendem korrekt dargestellt. Der 4. Token wird leider nicht übersprungen, aber beim 8. Token funktioniert es einwandfrei. Warum überspringt er nicht den 4. Token??? !!!!!
01.
02.
REM So lese ich die CSV aus:
03.
for /f "skip=%skip% tokens=1,2,3,5,6,7,9,10,11 delims=." %%a in (%sl%) do call :sub %%a %%b %%c %%d %%e %%f %%g %%h %%i
04.
05.
06.
07.
REM hier setze ich diese uebergebenen Argumente nochmals in eine Variable
08.
REM CSV Spalte A B C
09.
REM 1 Art - 2 STANDORTNAME - 3 DS100
10.
:sub
11.
set art=%1
12.
set standort=%2
13.
set artstandort=%1_%2
14.
set ds100=%3
15.
16.
REM CSV Spalte D
17.
REM F-LAN zweites drittes viertes Octet
18.
set zo=%4
19.
set do=%5
20.
set vo=%6
21.
22.
REM CSV Spalte E
23.
REM H-LAN letzten drei Octets
24.
set hzo=%7
25.
set hdo=%8
26.
set hvo=%9
27.
28.
REM ... Variablen usw.
29.
REM ... ECHOs usw.
30.
REM ...Logfile schreiben usw.
31.
32.
REM Ersetzen durch SED
33.
sed -e "s/DS100/%ds100%/; s/ART STANDORTNAME/%artstandort%/; s/ZZ.FF/%zo%.%do%/; s/ZZ.0./%zot%.0./; s/.HH/.4/" %quell_datei252% > %ds100%_%artstandort%_FABSW1-F1-252.ini
34.
sed -e "s/DS100/%ds100%/; s/ART STANDORTNAME/%artstandort%/; s/ZZ.FF/%zo%.%do%/; s/ZZ.0./%zot%.0./; s/.HH/.4/" %quell_datei245% > %ds100%_%artstandort%_FABSW2-F2-245.ini
35.
sed -e "s/DS100/%ds100%/; s/ART STANDORTNAME/%artstandort%/; s/ZZ.FF/%hzo%.%hdo%/; s/ZZ.0./%hzo%.0./; s/.HH/.4/" %quell_datei242% > %ds100%_%artstandort%_SSW-H1-242.ini
wenn ich dann zum Test folgendes einfüge:
01.
echo %1
02.
echo %2
03.
echo %1_%2
04.
echo %3
05.
06.
REM F-LAN letzen drei Octets
07.
echo %4
08.
echo %5
09.
echo %6
10.
11.
REM H-LAN letzen drei Octets
12.
echo %7
13.
echo %8
14.
echo %9
15.
pause
16.
17.
REM Echo Ergebnis:
18.
Ks
19.
Dachau
20.
Ks_Dachau
21.
DAC
22.
10 '<--- das hier ist das Problem
23.
25
24.
22
25.
88
26.
77
27.
Das %eo% wird nicht benötigt da dies schon im Template/Vorlage vorhanden ist und immer gleich bleibt.
Anfangen sollte er eigentlich mit dem zweiten Oktet (%zo%).
Dies funktioniert auch in CSV Spatle E aber leider nicht in CSV Spalte D.
Jetzt die große Frage:
Wieso gibt er mir für %zo% bei Echo %zo% die 10 aus und im Outputfile wird diese Position zweites Octet %zo% dann mit "leer" ersetzt. -> 1stTimeSrv 10..0.11 --- bei der Vorlage/Template sieht es zuerst so aus 10.ZZ.0.11 Das ZZ soll dann erstezt werden mit dem %zo% in dem Beispiel-Fall die 25
Vielen Dank Vorab für die Hilfe
Gruß
Andreas
1 Antwort
- LÖSUNG BloodyRulz schreibt am 10.12.2014 um 11:36:03 Uhr
LÖSUNG 10.12.2014, aktualisiert um 11:37 Uhr
Habe das Problem nach 3 Tagen try and error doch selbst lösen können.
Durch "shift" konnte ich das Problem lösen.
Bitte schließen Danke
Durch "shift" konnte ich das Problem lösen.
Bitte schließen Danke
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte