Toon posts:

[NT4.0] script vraagje

Pagina: 1
Acties:

Verwijderd

Topicstarter
Mensen,

Ik heb google en de search na gezocht, maar het werkt nog niet.

Het probleem.

ik heb een batch file, namelijk de volgende

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@ECHO OFF

net use g: /d
net use g: \\NTNON04\bedrijfsdata

IF EXIST g:\projekt\2003\%1 goto end

g:
cd projekt
cd 2003
md %1

robocopy g:\projekt\2003\sjabloon g:\projekt\2003\%1 /E /SEC

:end


Waarbij dus de variabel een projekt nummer is.

Dit bestand staat in %windir%\system32 en dus altijd oproepbaar.

Als ik zeg

code:
1
projekt pietjepuk


wordt er keurig een projekt pietjepuk aangemaakt, met de desbetreffende bestanden en rechten.

maar als ik zeg

code:
1
projekt 123456 pietjepuk

dan maaktie alleen maar projekt 123456 aan, en niet wat achter de spatie staat.

als ik zeg

code:
1
projekt "123456 pietjepuk"

dan maakt ie helemaal niks.

Hoe kan ik nou zorgen dattie spaties in z'n map naam verwerkt?

  • Krypt
  • Registratie: April 2000
  • Laatst online: 07-09 16:35
Quotjes misschien om de directory in je batchfile zetten..

dus:
md "%1"
robocopy g:\projekt\2003\sjabloon "g:\projekt\2003\%1" /E /SEC

Zal us checken of het werkt...

[edit]
Werkt dus nie :(

Pvouput live


Verwijderd

voor zover ik het snap is pietjepuk geen %1 maar %2 dan toch?

  • Krypt
  • Registratie: April 2000
  • Laatst online: 07-09 16:35
Als je geen quotes gebruikt dan wel...
Als je quotes gebruikt zou is het in 1 variable moeten donderen..

Pvouput live


Verwijderd

Topicstarter
Verwijderd schreef op 07 november 2002 @ 09:30:
voor zover ik het snap is pietjepuk geen %1 maar %2 dan toch?
ik zal dit eens proberen, ein moment bitte

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

Hij maakt ook geen directory aan? Dat zou gewoon moeten gaan (tenminste, ik heb al jaren geen batches meer geschreven voor NT4 maar dat is toch hetzelfde als W2k als ik het niet erg mis heb).

robocopy g:\projekt\2003\sjabloon g:\projekt\2003\%1

Daar gaat het fout, dat wordt namelijk
robocopy g:\projekt\2003\sjabloon g:\projekt\2003\"123456 pietjepuk"

En dat kan niet ;)

Maak er dus bijv van

g:
cd \projekt\2003\
robocopy g:\projekt\2003\sjabloon g:\projekt\2003\ %1

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • Krypt
  • Registratie: April 2000
  • Laatst online: 07-09 16:35
Je kan dit in je Batch gebruiken.. dan maakt ie een variable aan die gevuld is met de hele comspec...

code:
1
2
3
4
5
6
7
8
9
10
@echo off
set a=
:LOOP
    if   "%1"==""  goto  DONE
    if NOT "%a%"=="" set a=%a% %1
        if "%a%"=="" set a=%1
        echo %a%
    shift
    goto loop
:done


En dan kan je die variable weer gebruiken in je MD statement met quotes...

[edit]
Nu volledig

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@echo off
set a=
:LOOP
    if   "%1"==""  goto  DONE
    if NOT "%a%"=="" set a=%a% %1
        if "%a%"=="" set a=%1
    shift
    goto loop
:done

net use g: /d
net use g: \\NTNON04\bedrijfsdata

IF EXIST "g:\projekt\2003\%a%" goto end

g:
cd projekt
cd 2003
md "%a%"

robocopy g:\projekt\2003\sjabloon "g:\projekt\2003\%a%" /E /SEC

:end


Heb um nog niet helemaal getest; maar zou moeten werken...

[edit2]
En hij werkt bij mij perfect :)
Lang leve batchprogramering :)

Pvouput live


Verwijderd

Topicstarter
okay mensen, hij werkt,

Dit is mijn script

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@ECHO OFF

net use g: /d
net use g: \\NTNON04\bedrijfsdata

IF EXIST g:\projekt\2003\%1 goto end

g:
cd projekt
cd 2003
md "%1 %2 %3 %4 %5 %6"

robocopy g:\projekt\2003\sjabloon "g:\projekt\2003\%1 %2 %3 %4 %5 %6" /E /SEC

:end


het waren dus de meerdere variablen.

Zo kunnen er 6 spaties in!!

tnx ppl voor jullie hulp _/-\o_ _/-\o_ _/-\o_ _/-\o_ _/-\o_ _/-\o_

  • Krypt
  • Registratie: April 2000
  • Laatst online: 07-09 16:35
Pakt die van mij... die shift alles door.. :)
Nadeel bij jou is namelijk dat ie, als je alleen variable %1 vult dat ie er 6 spaties achter plakt.. dat doet ie bij mij niet...

Pvouput live


Verwijderd

Topicstarter
Krypt schreef op 07 november 2002 @ 09:53:
Pakt die van mij... die shift alles door.. :)
Nadeel bij jou is namelijk dat ie, als je alleen variable %1 vult dat ie er 6 spaties achter plakt.. dat doet ie bij mij niet...
*LOL* en ik dan zeker © rechten betalen :P :P

ff zonder gein,

hij zet er bij mij geen spaties achter hoor! ff gekeken, maar da's NIET ut geval :P :P

  • Krypt
  • Registratie: April 2000
  • Laatst online: 07-09 16:35
Rechten op een batchfile?? whaha.. vast :)

Gebruik um maar.. daar is dit forum toch voor... en dan kan je ook nog lekker gaan patsen bij je baas...

"Nou.. na veel uitzoekwerk heb ik dit verkregen... krijg ik nu opslag??"

Pvouput live


Verwijderd

Topicstarter
Krypt schreef op 07 november 2002 @ 10:05:
Rechten op een batchfile?? whaha.. vast :)

Gebruik um maar.. daar is dit forum toch voor... en dan kan je ook nog lekker gaan patsen bij je baas...

"Nou.. na veel uitzoekwerk heb ik dit verkregen... krijg ik nu opslag??"
Tis dan wel jammer dat ik m'n eigen baas ben :'(

  • Krypt
  • Registratie: April 2000
  • Laatst online: 07-09 16:35
Tjah.. daar kan ik ook niets aan doen... Maar dit betekend dus dat ik voor Jan l$l dat in elkaar heb geflanst.. dit heeft me wel 2 minuten werk gekost... voor niets :'(

;)

Pvouput live


Verwijderd

Topicstarter
Krypt schreef op 07 november 2002 @ 11:46:
Tjah.. daar kan ik ook niets aan doen... Maar dit betekend dus dat ik voor Jan l$l dat in elkaar heb geflanst.. dit heeft me wel 2 minuten werk gekost... voor niets :'(

;)
theeft mij al een paar uur gekost om alles werkend te krijgen, dus :> :>
Pagina: 1