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 - unterschiedliche Variablen-Kombinationen in xxx.cvs definieren

Mitglied: prittstift69

prittstift69 (Level 1) - Jetzt verbinden

20.01.2009, aktualisiert 17:52 Uhr, 5471 Aufrufe, 3 Kommentare

Es wäre schön wenn mir jemand bei folgendem Problem helfen könnte:

Aktuell wird eine bestimmtes Tool (Catia) über folgenden Batch-File gestartet:

start_CATIAV5.bat

set CATVERS=B14_DMU
set BIT=32
set WIN=intel_a
set PROJECT=CATSettings_xxx_R14Sp4_32
set ENV=CATIA.V5R14

set CATInstallPath=N:\CAD\CATIA_V5\%CATVERS%\%WIN%
set DIRENV=N:\CAD\Start_CATIAV5\CATEnv_%BIT%

REM
REM Start CATIAV5
REM

start %CATInstallPath%\code\bin\CATSTART.exe -run "CNEXT.exe" -env %ENV% -direnv "%DIRENV%" -object empty

:exit

Um komfortabel unterschiedliche Konfigurationen starten zu können habe ich nun eine Konfigurationen.csv angelegt

Konfigurationen.csv

POS,OS Win,CATIAV5 Release,Catia Sp,Catia Hot Fix,%CATVERS%,%BIT%,%WIN%,%PROJECT%,%ENV%,%CATInstallPath%
KONF_01,32 bit,R14,Sp4,,B14_DMU,32,intel_a,CATSettings_xxx_R14Sp4_32,CATIA.V5R14.xxx,N:\CAD\CATIA_V5\%CATVERS%\%WIN%
KONF_02,32 bit,R16,Sp5,Hot Fix 46,B16_DMU_32N,32,intel_a,CATSettings_xxx_R16Sp5_32,CATIA.V5R16.xxx,N:\CAD\CATIA_V5\%CATVERS%\%WIN%
KONF_03,64 bit,R18,Sp2,-,B18,64,win_b64,CATSettings_xxx_R18Sp2_64,CATIA.V5R18.xxx,N:\CAD\CATIAV5_64\%CATVERS%\%WIN%
KONF_04,32 bit,R18,Sp3,,B18,32,intel_a,CATSettings_xxx_R18Sp3_32,CATIA.V5R18.xxx,N:\CAD\CATIA_V5\%CATVERS%\%WIN%

Der Batch-File soll nun wie folgt gestartet werden:

start_CATIAV5.bat KONF_01 oder start_CATIAV5.bat KONF_02

Die Variablen sollen über die Konfigurationen.csv definiert werden

Wie ist der Batch-File zu ändern. Ich habe keine Ahnung von for, tokens, delims und findstr aber muss etwas damit zu tun haben.

Danke für eure Hilfe

Stephan Leci
Mitglied: bastla
20.01.2009 um 18:19 Uhr
Hallo prittstift69 und willkommen im Forum!

Das könnte etwa so gehen:
01.
@echo off & setlocal 
02.
set "Konf=Konfigurationen.csv" 
03.
findstr /b "%1" "%Konf%">nul || (echo Konfiguration %1 nicht gefunden! & pause & goto :eof) 
04.
for /f "tokens=1-20 delims=," %%a in ('findstr /b "%1" "%Konf%"') do ( 
05.
    set "CATVERS=%%f" 
06.
    set "BIT=%%b" 
07.
    set ... 
08.
    ....	 
09.
)
Die eingelesenen Felder der CSV-Datei sind als %%a, %%b, etc verfügbar.

Für einen nicht vorhandenen Wert solltest Du in der Datei zumindest eine Leerstelle schreiben, da aufeinanderfolgende Trennzeichen (also zwei oder mehr Kommata) nur als ein einziges Trennzeichen interpretiert werden.

Grüße
bastla

P.S.: Ich kann zwar bis 11 zählen, aber falls Du noch weitere Felder hinzufügen musst, brauchst Du (solange es dann insgesamt nicht mehr als 20 sind ) zumindest die Angabe nach "tokens=" nicht anzupassen ...
Bitte warten ..
Mitglied: prittstift69
21.01.2009 um 17:28 Uhr
Herzlichen Dank für deine Hilfe, bastla.
Es klappt alles vorzüglich.

Ich habe die doppelten Anführungszeichen in der ersten Zeile mit SET weggelassen, haben die eine bestimmte Funktion?
Ist die Option setlocal wichtig?

set CONFIG_FILE=CATIAV5_config.csv
findstr /b "%1" "%CONFIG_FILE%">nul || (echo CONFIG %1 don't found! & pause & goto :EOF)
for /f "tokens=1-20 delims=," %%a in ('findstr /b "%1" "%CONFIG_FILE%"') do (
set CATVERS=%%b
set BIT=%%c
set WIN=%%d
set PROJECT=%%e
set ENV=%%f
set CATInstallPath_short=%%g
)
Bitte warten ..
Mitglied: bastla
21.01.2009 um 17:42 Uhr
Hallo prittstift69!
Ich habe die doppelten Anführungszeichen in der ersten Zeile mit SET weggelassen, haben die eine bestimmte Funktion?
Du kannst diese Anführungszeichen problemlos weglassen - ich verwende sie, da damit genau zu kontrollieren ist, was der Variablen zugewiesen wird (zB zur Vermeidung unerwünschter Leerzeichen am Zeilenende). Abgesehen davon: Wenn sie schon nicht nützen sollten, schaden sie zumindest auch nicht ...

Ist die Option setlocal wichtig?
Sie ist jedenfalls grundsätzlich zu empfehlen - so bleiben die Inhalte neu erstellter oder veränderter Variablen nur bis zum nächsten "endlocal" (ein solches wird auch beim Ende des Batches automatisch ausgeführt) erhalten - Vorteil: In einem weiteren Batch musst Du nicht daran denken, dass ev eine dieser Variablen bereits existiert und einen vielleicht unerwünschten Wert enthält.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch: CPU-Auslastung eines Prozesses auslesen und als Variable definieren
gelöst Frage von tralvellerBatch & Shell3 Kommentare

Hallo zusammen, ich bin aktuell daran ein Batch-Skript zu erstellen, worin ich: - Prozess mit aktueller CPU-Last auslese - ...

Batch & Shell
Batch - Variablen
gelöst Frage von Marlon1Batch & Shell2 Kommentare

Hallo, Ich habe eine Frage zu Variablen. Und zwar ob es irgendwie geht das Batch mit ein IF Befehl ...

Batch & Shell
Batch-Variable rechnet immer weiter
Frage von ZwergkaninchenBatch & Shell4 Kommentare

Hallo, Leute! Ich wollte mir ein kleines Idle-Game in Batch schreiben, aber ich komm nicht weiter. Hier ist ein ...

Batch & Shell
Batch: Variable einen Wert zuweisen
gelöst Frage von veniplexBatch & Shell7 Kommentare

Hallo zusammen! Ich bin gerade am verzweifeln Ich habe in Batch 2 Variablen: Wenn ich mir von diesen den ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 10 StundenLinux1 Kommentar

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 1 TagTipps & 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 1 TagSicherheit12 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 1 TagSicherheit9 Kommentare

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

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit24 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

Netzwerke
Packet loss bei "InternetLeitungsvollauslastung"
gelöst Frage von Freak-On-SiliconNetzwerke17 Kommentare

Servus; Ja der Titel klingt komisch, is aber so. Wenn die Internetleitung voll ausgelastet ist, hab ich extreme packet ...

Windows 10
Automatische daten kopieren, USB zu USB unter Win10 im Hintergrund
Frage von DerEisigeWindows 1016 Kommentare

Hallo Leute, ich bin auf der Suche nach einem Skript, dass von einem USB Stick automatisch nach dem einstecken ...