Top-Themen

Aktuelle Themen (A bis Z)

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

Frage Entwicklung Batch & Shell

GELÖST

Batch Parameter Argumente Übergabe Problem

Mitglied: BloodyRulz

BloodyRulz (Level 1) - Jetzt verbinden

10.12.2014, aktualisiert 10:11 Uhr, 738 Aufrufe, 1 Kommentar

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.:
40e09869a51e735cfb9c0e7af2896408 - Klicke auf das Bild, um es zu vergrößern

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.
 
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
Mitglied: BloodyRulz
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
Bitte warten ..
Ähnliche Inhalte
Windows Server
Parameter Übergabe Terminal Server
gelöst Frage von ThomasKernWindows Server9 Kommentare

Hallo zusammen, ich habe folgendes Problem. Wir führen gerade ein Dokumentenmanagement-System ein welches sehr eng mit unserm WAWI zusammen ...

Windows Tools
Power Shell Informationen zu Parameter Argumente
Frage von geTr0ffEnWindows Tools2 Kommentare

Hi, es ist ja in Power Shell möglich mit "help" beispielsweise Informationen zu dem cmdlet zu bekommen, detaillierte Infos ...

Python
Py2exe - Pyton-Script in .exe wandeln mit Übergabe eines Arguments
Frage von BlattlausOGPython9 Kommentare

Hallo zusammen, ich nutze py2exe um einen bestehenden Python-Source-Code in Windows ausführbar zu machen. Generell funktioniert mein Vorhaben, die ...

Webentwicklung
Angularjs: ng-click übergabe einzelner Parameter
gelöst Frage von TobiasedWebentwicklung2 Kommentare

Hallo community, ich arbeite gerade an einem online Warenkorb für Pizzas und benutze dafür angularjs. Ich habe eine JSON ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Windows Server
DNS Forwarding an andere Domäne
Frage von detox91Windows Server9 Kommentare

Hallo, für Testzwecke haben wir bei uns eine zweite Windows Domäne (B.local) aufgebaut, welche komplett unabhängig und isoliert der ...