Change directory dynamisch adhv argument

Pagina: 1
Acties:

Onderwerpen


  • dj_vibri
  • Registratie: Oktober 2007
  • Laatst online: 16-09 17:16

dj_vibri

int(e^x) = f(u)^n

Topicstarter
Allen,

voor mijn zelfstudie lessen ivm ASP.NET MVC3 Razor ben ik er achter gekomen dat mijn hoster de RC2 van ASP.NET 3 nog niet gedeployed heeft en hierdoor dus een aantal DLL's ontbreken.

Dit probleem is opgelost door manueel een aantal DLL's over te zetten naar de BIN folder.
Nu wil ik dit automatiseren door een batch te laten runnen in het post-build event wanneer mijn applicatie gepublished wordt (dus niet bij debug).

Ook zou ik deze batch zo dynamisch mogelijk willen maken omwille van het feit dat ik op meerdere domeinen dien te deployen.

Volgende code heb ik reeds:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SET test = %1
ftp -s:%0
goto done
open ftp.vibri.com
vibriaccount
TweakersGot123password
lcd "E:\Personal\Development\mvc dll"
cd "razor.vibri.com\wwwroot\bin\"
prompt
binary
mput *.*
bye
:done
@echo off
cls
exit


Dit werkt volledig, maar zoals jullie zien staat enerzijds username, wachtwoord en subdomein hard-coded hierin. met username en wachtwoord kan ik nog leven, maar ik zou graag het "cd" commando dynamisch willen hebben (zeker het eerste stuk, dus bv. razor.vibri.com ).

Ik heb reeds geprobeerd mbv:

cd %1\wwwroot\bin
en
cd %1"\wwwroot\bin"
en
SET Temp = %1
cd %Temp%\wwwroot\bin
...

maar niets van deze werkt, heb reeds gegoogled maar vindt niet zo makkelijk hier iets van terug.
Hetgeen hij nu doet is letterlijk %1 mee afdrukken en naar deze folder gaan, wat dus niet lukt :)

Het is iets belachelijks maar geraak er niet echt uit :X

any thoughts?

Last night I lay in bed looking up at the stars in the sky and I thought to myself, where the heck is the ceiling.


  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

En als je iets als "echo %1" doet, wat komt er dan te staan? :)

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


  • dj_vibri
  • Registratie: Oktober 2007
  • Laatst online: 16-09 17:16

dj_vibri

int(e^x) = f(u)^n

Topicstarter
CodeCaster schreef op donderdag 30 december 2010 @ 12:12:
En als je iets als "echo %1" doet, wat komt er dan te staan? :)
had ik reeds geprobeerd en dan krijg ik volgende output:

code:
1
2
3
4
5
6
7
8
9
... meer output

230 User logged in.
ftp> lcd "E:\Personal\Development\mvc dll"
Local directory now E:\Personal\Development\mvc dll.
ftp> cd echo %1"\wwwroot\bin\"
550 The system cannot find the file specified.

... Nog meer output


Update:

lijkt blijkbaar iets specifieks aan FTP te liggen. als ik een test batch aanmaak, op de desktop plaats en volgende code uitvoer:

code:
1
2
3
4
@echo off
cd %1\boeie
dir
pause


met als parameter: temp

dan kan ik effectief naar: c:\users\vibri\desktop\TEMP\boeie gaan, doe ik net hetzelfde in de FTP batch lijkt dit niet te lukken :(

Update 2: cd commando weglaten en gewoon: echo %1 geeft volgende output:

code:
1
2
3
4
230 User logged in.
ftp> lcd "E:\Personal\Development\mvc dll"
Local directory now E:\Personal\Development\mvc dll.
ftp> echo %1


lijkt dus dat mbv ftp stuff deze zaken niet werken.. :s :?

[ Voor 40% gewijzigd door dj_vibri op 30-12-2010 12:50 ]

Last night I lay in bed looking up at the stars in the sky and I thought to myself, where the heck is the ceiling.


  • dj_vibri
  • Registratie: Oktober 2007
  • Laatst online: 16-09 17:16

dj_vibri

int(e^x) = f(u)^n

Topicstarter
Opgelost! *maar hoe...*

volgende oplossing heb ik gevonden/werkende gekregen.
Eerst een tijdelijk txt bestand aanmaken met alle script commando's en vervolgens vanuit batch ftp.exe starten met als parameter die aangemaakte script bestand. Dan lijkt het te lukken.

hier de code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@echo off
>  C:\script.txt echo open ftp.vibri.com
>> C:\script.txt echo vibriaccount
>> C:\script.txt echo TweakersGot123password
>> C:\script.txt echo cd %1
>> C:\script.txt echo cd "wwwroot\bin"
>> C:\script.txt echo prompt
>> C:\script.txt echo binary
>> C:\script.txt echo lcd "E:\Personal\Development\mvc dll"
>> C:\script.txt echo mput *.*
>> C:\script.txt echo bye

start /w ftp.exe -s:"C:\script.txt"
del C:\script.txt
cls
exit


waarom dit niet rechtstreeks vanuit hetzelfde batch file gaat is me een raadsel, maar bon het werkt nu zo :) nu maar wachten tot hoster update doet naar mvc 3 (wsl als deze officieel RTM bereikt heeft) en dan hebben we dit niet meer nodig... :)

thxn!

Last night I lay in bed looking up at the stars in the sky and I thought to myself, where the heck is the ceiling.


  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Ah natuurlijk. De executable die je aanroept (ftp) neemt alle invoer letterlijk, dus "%1" wordt niet verwerkt. Hier staan inderdaad ook de door jou gebruikte methode.

Is het trouwens niet gewoon een optie om de DLL's in de bin-folder te zetten in je project?

[ Voor 4% gewijzigd door CodeCaster op 30-12-2010 13:29 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


  • dj_vibri
  • Registratie: Oktober 2007
  • Laatst online: 16-09 17:16

dj_vibri

int(e^x) = f(u)^n

Topicstarter
CodeCaster schreef op donderdag 30 december 2010 @ 13:28:
Is het trouwens niet gewoon een optie om de DLL's in de bin-folder te zetten in je project?
Je neemt me de woorden uit de mond, zolang zitten zoeken achter deze oplossing en dan valt mijn oog op volgende site Linkje

|:(

alleen aan denken dat ik als ik een nieuw razor project aanmaak ik steeds manueel de DLL's in de bin folder plaats :)

achja, kennis is nooit weg gegooid :) *hoewel, kennis van batch commando's... hmmm..* :p

Last night I lay in bed looking up at the stars in the sky and I thought to myself, where the heck is the ceiling.

Pagina: 1