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

[DOS]Parameter met spatie aan batch doorgeven, hoe ?

Pagina: 1
Acties:

  • HyperBart
  • Registratie: Maart 2006
  • Laatst online: 17:32
Ik heb een klein batchbestandje gemaakt voor mezelf als ik wat dingen met afbeeldingen moet maken, ben al zover geraakt dat hij dus alles samen neemt.

Nu is het dus wel beetje rot dat als je een batch uitvoert de spaties het scheidingsteken zijn voor de parameters die je meegeeft met een batch.

ik had graag meerdere parameters meegegeven aan het batchbestand, waarvan één dus spaties bevat.

Ik heb al een heel deel gezocht, maar vind niets

Wat is de scheider voor parameters/maw hoe kan ik dit werkend krijgen ?

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 17:00
Tussen quotes zetten misschien? Heb zelf niet echt een idee wat je wilt doen, maar met het opgeven van een path met spaties erin kun je quotes gebruiken.

  • HyperBart
  • Registratie: Maart 2006
  • Laatst online: 17:32
leonpwner1 schreef op zaterdag 07 juni 2008 @ 18:18:
Tussen quotes zetten misschien? Heb zelf niet echt een idee wat je wilt doen, maar met het opgeven van een path met spaties erin kun je quotes gebruiken.
al gedaan, helpt niet (nog wat testen en rommelen)
enkele of dubbele btw ? heb al met beiden getest, doet nog niet veel, je mag als je wil een voorbeeldje geven...

Voorbeeldje:
linkgenerator.bat http://www.mijnhost.com mapnaam met spaties er in

waarbij linkgenerator het batch bestand is
http://www.mijnhost.com de eerste parameter
"mapnaam met spaties er in" is de mapnaam, met spaties erin...

[ Voor 11% gewijzigd door HyperBart op 07-06-2008 18:21 ]


  • Gotiniens
  • Registratie: November 2002
  • Laatst online: 07:20

Gotiniens

Fairly odd Tim

mischien elke spatie vervangen door %20? dat doen alle browsers ook volgens mij

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Je kan de "map naam met spaties er in" wel laten vertalen naar de shortname variant - dan krijg je dus iets als:
for %i in ("C:\Documents and Settings") do @echo %~fsi

  • HyperBart
  • Registratie: Maart 2006
  • Laatst online: 17:32
Gotiniens schreef op zaterdag 07 juni 2008 @ 18:21:
mischien elke spatie vervangen door %20? dat doen alle browsers ook volgens mij
Ja, das dus al gericht denken op het feit dat het een linkgenerator wordt, maar ik had het ook graag geweten voor toekomstbatchbestandjes die niet specifiek daar voor dienen ;)
Goed bedacht tough !
elevator schreef op zaterdag 07 juni 2008 @ 18:22:
Je kan de "map naam met spaties er in" wel laten vertalen naar de shortname variant - dan krijg je dus iets als:
for %i in ("C:\Documents and Settings") do @echo %~fsi
probleem is dus dat het echt een string is die ik wil meegeven, ik kan geen absoluut pad meegeven of ik zou nu mijn hele batchbestand moeten omgooien...

[ Voor 119% gewijzigd door HyperBart op 07-06-2008 19:08 ]


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Je kan dan gewoon quotes meegeven, test maar eens uit:
C:\Users\maarten>type test.bat
@ECHO OFF
ECHO %1
ECHO %*

C:\Users\maarten>test "1 2 3"  2 3 4
"1 2 3"
"1 2 3"  2 3 4

  • HyperBart
  • Registratie: Maart 2006
  • Laatst online: 17:32
dit is mijn batch:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@echo off
if exist links.txt del links.txt
if "%1"=="" goto geefurl
:controleermap
if "%2"=="" goto geefmap

for /f %%v in (bestandsnamen_zonder_extensie.txt) do echo [url=%1/%2/%%v.jpg][img]%1/%2/thumbs/%%v_Thumb.jpg[/img][/url] >> links.txt
goto :eof

:geefurl
echo U heeft geen URL opgegeven waarop de afbeeldingen worden gehost
echo Geef de url op waarop de afbeeldingen worden gehost
goto controleermap

:geefmap
echo U heeft de map waarin de foto's gaan komen op de hosting niet opgegeven
echo Geef de mapnaam op waarin de afbeeldingen zitten op de host
pause > nul


in de bestandsnamen_zonder_extensie zitten dus alle namen van de bestanden zonder extensie

als ik dit batch bestand uitvoer vanuit de commando prompt op de volgende manier:

linkgenerator.bat "http://www.mijnhost.com" "Afbeeldingen GoT"


dan krijg ik

C:\Users\Bart\Desktop\qdfqsff>linkgenerator.bat "http://www.mijnhost.com" "Afbeeldingen GoT"
GoT""=="" niet verwacht op dit moment.
C:\Users\Bart\Desktop\qdfqsff>

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Gebruik je de oudbakken command.com interpreter of cmd.exe?

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • HyperBart
  • Registratie: Maart 2006
  • Laatst online: 17:32
cmd.exe

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Dat komt door je "IF' statement denk ik, en niet zo zeer door iets anders. Dit kan je dan weer simpel oplossen, door de quotes te vevangen door een ander teken:
C:\Users\maarten>if ""test""=="test" @echo whee

C:\Users\maarten>if ""test met spatie""=="test" @echo whee
met was unexpected at this time.

C:\Users\maarten>if ."test met spatie".==.test. @echo whee

C:\Users\maarten>

  • HyperBart
  • Registratie: Maart 2006
  • Laatst online: 17:32
elevator schreef op zaterdag 07 juni 2008 @ 21:51:
Dat komt door je "IF' statement denk ik, en niet zo zeer door iets anders. Dit kan je dan weer simpel oplossen, door de quotes te vevangen door een ander teken:
C:\Users\maarten>if ""test""=="test" @echo whee

C:\Users\maarten>if ""test met spatie""=="test" @echo whee
met was unexpected at this time.

C:\Users\maarten>if ."test met spatie".==.test. @echo whee

C:\Users\maarten>
sorry, nu volg ik even niet...
Pagina: 1