Avatar billede keet Nybegynder
28. juli 2004 - 16:10 Der er 21 kommentarer og
2 løsninger

kørsel af bat fil

Jeg har en bat fil med navnet "test.bat" som jeg gerne vil kører i mit vbscript.
"test.bat" ligger i en mappe længere nede der hedder "mydir".

Hvordan får jeg mit vbscript til at køre filen?
Avatar billede medions Nybegynder
28. juli 2004 - 16:16 #1
Fx. sådan her:
Set oShell = WScript.CreateObject ("WSCript.shell")
WshNetwork.MapNetworkDrive "N:", "\\noc\amagents$"
oShell.run "cmd  c:\umclient.bat "
Set oShell = Nothing

//>Rune
Avatar billede medions Nybegynder
28. juli 2004 - 16:17 #2
Hov...

Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "cmd  c:\mydir\umclient.bat "
Set oShell = Nothing

//>Rune
Avatar billede keet Nybegynder
28. juli 2004 - 16:31 #3
hvis det er muligt vil jeg gerne undgå at skrive absolute stier... Hvordan undgår jeg det?
Avatar billede medions Nybegynder
28. juli 2004 - 16:38 #4
Det kan du jo ikke undgå... DOS er jo nødt til at vide hvor den skal finde batch filen :)

//>Rune
Avatar billede morphman Nybegynder
28. juli 2004 - 16:42 #5
Yeah...that true. However, here one more way to do it.

Dim WshShell,oExec

Set WshShell = wscript.createobject("wscript.shell")
Set oExec = WshShell.Exec("C:\mydir\Test.bat")
Avatar billede keet Nybegynder
28. juli 2004 - 16:45 #6
Ligesom server.mappath i asp kan give stien til den fil der bliver afviklet, må man vel også kunne få stien til det vbscript der bliver kørt?
Avatar billede squashguy Nybegynder
28. juli 2004 - 16:45 #7
eller blot

oShell.run "mydir\test.bat"
Avatar billede medions Nybegynder
28. juli 2004 - 16:48 #8
keet> Nej, desvære... Jeg har også selv ofte været ude for at skulle kunne dette, men jeg har erfaret at dette ikke er muligt :-(

Noget jeg engang brugte var at share den mappe jeg skulle bruge, og så mappede jeg det og brugte den sti', så var jeg uden om at skulle bruge den fulde sti hver gang...

//>Rune

//>Rune
Avatar billede morphman Nybegynder
28. juli 2004 - 16:50 #9
Well, you can do like this. but then ye'll have to put your 'mydir' win the wondows dir.

Dim WshShell,oExec

Set WshShell = wscript.createobject("wscript.shell")
Set oExec = WshShell.Exec("mydir\Test.bat")
Avatar billede morphman Nybegynder
28. juli 2004 - 16:52 #10
Well, wait a sec....Just tested it on desktop...it seems to work fine. However, the vbs and the dir must be in the same dir or perhaps in windows dir.
Avatar billede keet Nybegynder
28. juli 2004 - 16:53 #11
hmm okay... jeg må bruge absolute stier så.

Alting er nu engang nemmere med linux/php
Avatar billede morphman Nybegynder
28. juli 2004 - 16:58 #12
No you don't have to use the absolut path....as I said. Well, check this out.

URL: http://www.tmq.net/morphmanaf/test.rar
Avatar billede squashguy Nybegynder
28. juli 2004 - 17:00 #13
28/07-2004 16:45:49 oShell.run "mydir\test.bat"

med mindre jeg har misforstået noget, så fungerer det almindelige bibliotekshieraki også, når der afvikles filer fra vbscript..
Avatar billede keet Nybegynder
28. juli 2004 - 17:00 #14
jeg vil ikke til at rode med dirs i windows mappen
Avatar billede morphman Nybegynder
28. juli 2004 - 17:04 #15
And one more thing...as long as your script is in the so called SpecialFolders you may run it as this.

Syntax:

      strMyPath = WshShell.SpecialFolders("strFolderName")
      or
      strMyPath = WshShell.SpecialFolders.Item("strFolderName")

Arguments:

  strFolderName : One of the following special folders
                  (not all are available to all flavors of Windows)

      AllUsersDesktop
      AllUsersStartMenu
      AllUsersPrograms
      AllUsersStartup
      Desktop
      Favorites
      Fonts
      MyDocuments
      NetHood
      PrintHood
      Programs
      Recent
      SendTo
      StartMenu
      Startup
      Templates

Returns:
  strMyPath : The full path to the special folder
              returns NULL if the folder is not available.
Avatar billede morphman Nybegynder
28. juli 2004 - 17:07 #16
hamderpolle>> That's what I am trying to say...moreover if one desires to put file in other dir. One may put 'em in the SpecialFolders for easy access.
Avatar billede keet Nybegynder
28. juli 2004 - 17:07 #17
jeg kigger lige på det..
Avatar billede morphman Nybegynder
28. juli 2004 - 17:08 #18
keet>> if ye downloaded the test.rar then unpack it and you'll see that it runs as it is...no need for the absolut path.
Avatar billede squashguy Nybegynder
28. juli 2004 - 17:22 #19
path = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\"))
oShell.Run """" & path & "mydir\test.bat" & """"

ovenstående er ligeglad med, hvilket bibliotek man står i, når scriptet kaldes
Avatar billede keet Nybegynder
28. juli 2004 - 18:20 #20
morphman >> filerne i .tar filen virkede fint. Tak for hjælpen
Avatar billede squashguy Nybegynder
28. juli 2004 - 18:23 #21
undskyld, men er jeg usynlig? hvar det ikke den løsning jeg postede for længe siden?
Avatar billede keet Nybegynder
28. juli 2004 - 18:33 #22
oShell.Run "..." virkede ikke for mig
Avatar billede morphman Nybegynder
28. juli 2004 - 20:04 #23
keet>> Thank you for the points, good to hear that I was of any assistance :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester