Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[DOS-Batch] zoeken in ander bestand

Pagina: 1
Acties:

  • 107mb
  • Registratie: Juni 2004
  • Laatst online: 15:02
Ik zoek naar een oplossing voor het volgende:

Bij mijn werkgever wordt gebruik gemaakt van een omgeving met Batch-bestanden tbv EDI verwerking. Deze batch bestanden worden door het ERP pakket aangeroepen, en werkt erg transparant, zeker en snel.

Natuurlijk hebben we diverse omgevingen (test, ontwikkel, live) en elke omgeving heeft een eigen directory met batch-bestanden. Elke omgeving heeft ook eigen servers. Deze servers staan hard in de batch-bestanden geschreven. Indien de batch-directory van ontwikkel naar test verplaatst wordt, dan moeten alle batchbestanden aangepast worden, om de server-verwijzing aan te passen. Naast de server hebben ook de diverse mappen per omgeving een andere naam (bijvoorbeeld EDITEST)

Ik wil in die batchbestanden met variabelen gaan werken, zoals servernaam en directory. Deze variabelen worden gevuld aan de hand van gegevens in een .ini bestand in de root van de desbetreffende omgeving.

zo krijg je in de root een file genaamd omgeving.ini, met daarin o.a. de volgende regels:
server=\\testserver
directory=\editest

Het probleem is dat ik in de batchbestanden een verwijzing wil maken naar de omgeving.ini, en dat deze zoekt naar de variabele "server", en dan de waarde \\testserver uitleest.

is dit mogelijk, en hoe kan ik dit realiseren?

De structuur blijft op basis van batchbestanden!

  • NetForce1
  • Registratie: November 2001
  • Laatst online: 09:15

NetForce1

(inspiratie == 0) -> true

Je kunt beter met environment variabelen werken denk ik, roep aan het begin van ieder batch bestand dat van buiten aangeroepen wordt een prepare script aan wat variabelen set dmv SET VARIABLE=value, deze variabelen zijn nu beschikbaar binnen de huidige shell als %VARIABLE% (en dus ook alle scripts die in die shell gestart worden).

De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"


  • DanielG
  • Registratie: Oktober 2005
  • Laatst online: 08-09 15:36

DanielG

i = 0x5f3759df - (i>>1); ☠₧ℳ🀪❣

Je zou met "FOR" je .ini bestand kunnen uitlezen en een "SET" uitvoeren op elke regel die de variabelen zet. Daarna kun je met %server% etc. je waarden uitlezen.

Voorbeeld:

code:
1
2
server=\\testserver
directory=\editest

code:
1
2
3
FOR /F %%i in (omgeving.ini) do (set %%i)
echo %server%
echo %directory%


Uitvoer:
C:\>test.bat
\\testserver
\editest


Let er wel op dat er niets anders in je omgeving.ini staat dan regels met "aaa=bbb".

http://xyproblem.info/


  • 107mb
  • Registratie: Juni 2004
  • Laatst online: 15:02
ik ga het idd met system variables doen. ik heb het getest en werkt uitstekend.
bedankt!