Batch-scripting

Alles over programmeren en development binnen de IT-wereld
Plaats reactie
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16757
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 582 keer
Bedankt: 780 keer
Provider

Ik heb hier een klein probleempje. Ik ben een .bat-scriptje aan het maken, maar bots hier op het probleem dat je niet zomaar aan string-bewerking kan doen.
Ik doe het volgende:

Code: Selecteer alles

set map="C:\Documents and settings\meon\Mijn Documenten\map\"
if exists %map%\submap %2\map\file.pid goto :error1 
Waarbij %2 een parameter is, in dit geval een getal

Ik wil dus kijken of het bestand file.pid bestaat in de map "C:\Documents and settings\meon\Mijn Documenten\map\submap 12\map\".
Het probleem lijken mij de spaties te zijn, maar met aanhalingstekens neemt hij die dan weer gewoon mee over...

Ik krijg deze fout:

Code: Selecteer alles

"C:\Documents and settings\meon\Mijn Documenten\map\"\submap niet verwacht op dit moment.
Iemand een idee?
khsw
Elite Poster
Elite Poster
Berichten: 1158
Lid geworden op: 03 maa 2004, 09:04
Uitgedeelde bedankjes: 18 keer
Bedankt: 16 keer

Dit zou moeten werken:

Code: Selecteer alles

set map=C:\Documents and settings\meon\Mijn Documenten\map\
if exist "%map%submap %2\map\file.pid" goto error1
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16757
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 582 keer
Bedankt: 780 keer
Provider

Cool, thx!
Soms zijn de oplossingen simpeler dan verwacht, en daar denk je dan niet aan ;)
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16757
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 582 keer
Bedankt: 780 keer
Provider

Oké, volgend probleem:

Code: Selecteer alles

echo <config> >> config.xml
Zoiets kan dus niet. Hoe echo je "<" en ">" zonder dat je daardoor naar bestanden gaat schrijven? Als je "<config>" doet zitten de aanhalingstekens er bij ...
Belg
Starter
Starter
Berichten: 4
Lid geworden op: 11 jan 2005, 13:19
Locatie: Bocholt (B)

Die had ik je net gemaild geloof ik .....

Echo ^<dinges^>

Even nog een opmerking over dat SET commando:

set test=dit is een test
de variabele %test% heeft nu als inhoud "dit". Als je de volledige tekst wilt hebben kun je beter:
set "test=dit is een test" gebruiken
Gebruikersavatar
satori
Plus Member
Plus Member
Berichten: 136
Lid geworden op: 03 mei 2004, 09:15
Locatie: Landen

Ik dacht eerst aan < en > maar ^ als escape char (zoals Belg zei) is idd wel de beste oplossing.
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16757
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 582 keer
Bedankt: 780 keer
Provider

Hehe, idd, ça marche!

TY!
khsw
Elite Poster
Elite Poster
Berichten: 1158
Lid geworden op: 03 maa 2004, 09:04
Uitgedeelde bedankjes: 18 keer
Bedankt: 16 keer

Belg schreef: Even nog een opmerking over dat SET commando:

set test=dit is een test
de variabele %test% heeft nu als inhoud "dit". Als je de volledige tekst wilt hebben kun je beter:
set "test=dit is een test" gebruiken
In Windows 2000 is er blijkbaar geen verschil tussen beide commando's...
Plaats reactie

Terug naar “Development”