+ Antworten
Ergebnis 1 bis 4 von 4
  1. #1
    Power Poster forumwurm wird schon bald berühmt werden
    Registriert seit
    09.06.2002
    Ort
    auf dem boden
    Beiträge
    2.242
    Downloads
    0
    Uploads
    0
    Renommee-Modifikator
    298

    Standard variablen in externer datei

    ich möchte schlussendlich 2 dateien in einem verzeichniss haben:

    install.cmd
    settings.ini

    in der install möchte ich mit variablen arbeiten, welche je nach dem einen anderen wert von der settings.ini auslesen.

    BEISPIEL install.cmd_____________________

    if %variable1% equ xyz net use x: parameter1

    ______________________________________


    BEISPIEL settings.ini______________________

    variabl1=parameter1
    variable2=paramter2
    etc....

    ______________________________________

    hoffe, ich habe mich irgendwie verständlich ausgedrückt, sonst nachfragen

    besten dank schon mal für lösungsansätze



  2. #2
    Power Poster HeikoBerlin ist einfach richtig nettHeikoBerlin ist einfach richtig nettHeikoBerlin ist einfach richtig nettHeikoBerlin ist einfach richtig nett Avatar von HeikoBerlin
    Registriert seit
    08.08.2003
    Ort
    Berlin
    Alter
    43
    Beiträge
    7.370
    Downloads
    0
    Uploads
    0
    Renommee-Modifikator
    813

    Standard

    Ist die settings.ini vorgegeben oder mehrfach genutzt?
    Irgendwie erschliesst sich mir der Sinn des unnötigen Aufwands nicht.
    Warum nicht einfach install.cmd:
    call settings.cmd
    if %variable1% equ xyz net use x: parameter1

    und settings.cmd:
    set variable1=parameter1
    set variable2=parameter2

    na gut - wie gewünscht würde das so aussehen:

    for /f "tokens=1,2 delims==" %%a in (settings.ini) do @set %%a=%%b



  3. #3
    Power Poster forumwurm wird schon bald berühmt werden
    Registriert seit
    09.06.2002
    Ort
    auf dem boden
    Beiträge
    2.242
    Downloads
    0
    Uploads
    0
    Themenstarter
    Renommee-Modifikator
    298

    Standard

    nochmals zur ausgangslage.

    ich möchte anhand einer variablen einen wert aus dieser externen datei als neue variable setzen. warum das eine externe datei sein muss. dieses script ist gross und schlussentlich kompiliert und es soll auch anderen personen möglich sein die zweite datei einfach zu erweitern.

    install.cmd

    if %username% equ (durchsuche settings.ini) set NET_MAP=(wert von settings.ini)
    net use x: %NET_MAP%
    (ich weiss man könnte das auch ohne variable machen, ich benötige diese variable aber mehrmals für verschiedene commands)

    d.h. wenn hugo das script ausführt, soll Hugo danach das \\server1\share5 auf x: gemappt haben. somit soll auch sicher gestellt werden, dass in der settings.ini einfach weitere benutzer mit speziellen laufwerken nagehängt wereden können, ohne das hauptscript verändern zu müssen.

    settings.ini
    Name,1.Wert
    Franz,\\server1\share2
    Hugo,\\server1\share5
    Anna,\\server2\share7


    evt. wäre die settings.ini auch ausbaubar mit weiteren werten
    Name,1.Wert,2.Wert,usw
    Hugo,\\server1\share5,\\server5\share2,usw



  4. #4
    Power Poster q3wert wird schon bald berühmt werden Avatar von q3wert
    Registriert seit
    15.08.2000
    Ort
    Hamburg
    Alter
    42
    Beiträge
    5.921
    Downloads
    0
    Uploads
    0
    Renommee-Modifikator
    680

    Standard

    1.) danke vergessen (auch, wenns für dich noch kein volltreffer war)
    2.) CMD ist gefährlich, wegen umlauten, verkettungszeichen und anderen nettigkeiten. lern lieber vbs, wenns um sache wie deine geht
    3.) die anzahl der felder sollte schon fix sein
    4.) nenn so eine steuerdatei nicht *.ini (sondern *.txt), wenn das skript nicht in der lage ist, daten wie bei INI-dateien zu behandeln
    5.) ein besserer trenner als "," ist in diesem fall ein TAB
    6.) ein gerüst, was du selber weiterführen müsstest, wäre:
    Code:
    @echo off
    setlocal
    rem chcp 1250
    set infoFile="%~dp0settings.txt"
    if not exist %infoFile% exit /b 1
    for /f "tokens=1,2,3 eol=; delims=	" %%a in ('type %infoFile% 2^>NUL') do call :processLine "%%a" "%%b" "%%c"
    echo.End of script.
    
    pause
    exit /b 0
    
    
    :processLine
      set curA=
      set curB=
      set curC=
      set curA=%1
      set curB=%2
      set curC=%3
      echo.#####
      echo.curA=%curA%
      echo.curB=%curB%
      echo.curC=%curC%
    exit /b 0
    und beispieldaten, die sonderfälle enthalten:
    Code:
    ;settings.txt
    ;name	share	option
    Hugo Boss	\\server\share\subfolder with spaces	option for Hugo Boss
    Ron Sommer	\\server\share\subfolder & ampersand	option for Ron Sommer
    Trulla Toll	\\server\share\Deutsche Umlaute š™”Ž„á	option for Trulla Toll
    Incomplete Line
    nette überraschungen kannst du immernoch mit """ in der settings.txt erleben...


    Trau niemandem. Schon gar nicht Sigi

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. FOR mit 10 Variablen (will nicht)
    Von forumwurm im Forum Programmierung und Skripte
    Antworten: 6
    Letzter Beitrag: 02.09.2010, 10:54
  2. Variablen in Batchdateien
    Von Rumak18 im Forum Allgemein Windows Vista
    Antworten: 5
    Letzter Beitrag: 15.01.2009, 14:51
  3. DOS Befehle und Variablen
    Von Bertram W2K im Forum Allgemein Windows 2000
    Antworten: 1
    Letzter Beitrag: 05.11.2002, 22:46
  4. Lame Variablen
    Von Chris Redfield im Forum Multimedia
    Antworten: 2
    Letzter Beitrag: 15.10.2002, 16:35
  5. Variablen-Problem mit PHP
    Von aschweti im Forum Programmierung und Skripte
    Antworten: 3
    Letzter Beitrag: 27.01.2002, 18:08

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein

Search Engine Friendly URLs by vBSEO 3.6.0