Avatar billede Slettet bruger
07. august 2001 - 10:22 Der er 13 kommentarer og
2 løsninger

Skift af bibliotek

Programudsnit:


main()
{
    system(\"cd c:\\\\Program Files\\\\WinAce\\\\\");
    system(\"winace a -y -yo c:\\\\ons\\\\backup c:\\\\ons\");
}


Problem:
Der skiftes ikke bibliotek til c:\\program files\\winace, så programmet kan ikke køre. Hvad går galt??

Venligst Rasmus



Avatar billede borrisholt Novice
07. august 2001 - 10:23 #1
brug chdir

Jens B
Avatar billede Slettet bruger
07. august 2001 - 10:28 #2
Prøvede:

system(\"chdir c:\\\\Program Files\\\\WinAce\\\\\");
    system(\"winace a -y -yo c:\\\\ons\\\\backup c:\\\\ons\");

Virker heller ikke...

Avatar billede henrik_ffc Nybegynder
07. august 2001 - 10:32 #3
Der skiftes dir, men kun i den \'session\' du er i gang med.
Når kommandoen er færdig (efter chdir er færdig) lukkes
sessionen og en NY session startes, med sin egen sti.

Jeg forslår du slår linierne sammen til:

system(\"c:\\\\Program Files\\\\WinAce\\\\winace a -y -yo c:\\\\ons\\\\backup c:\\\\ons\");
Avatar billede borrisholt Novice
07. august 2001 - 10:35 #4
som sagt brug chdir kommandoen :

#include <Windows.h>
#include <shellAPI.h>
#include <direct.h>


int main(int argc, char* argv[])
{
  _chdir(\"c:\\\\Program Files\\\\WinAce\\\\\");
    ShellExecute(NULL,\"open\", \"winace.exe\", \"a -y -yo c:\\\\ons\\\\backup c:\\\\ons\", \"c:\\\\Program Files\\\\WinAce\\\\\", SW_SHOWNORMAL);
    return 0;
}

men brug den rigtigt ....

Jens B
Avatar billede Slettet bruger
07. august 2001 - 10:36 #5
Vireker desværre heller ikke jeg får fejlen:

\'c:\\Program\' is not recognized as an internal or external command,
operable program or batch file.\'

Det svare til at skrive:

c:\\Program Files\\WinAce\\winace a -y -yo c:\\ons\\backup c:\\ons

fra en dos-prompt, hvilket ikke kan lade sig gøre..
Avatar billede borrisholt Novice
07. august 2001 - 10:37 #6
nej naturligvis ikke !

Jens B
Avatar billede Slettet bruger
07. august 2001 - 10:42 #7
borrisholt>>

Call to undefined function \'_chdir\' in function main()

Avatar billede borrisholt Novice
07. august 2001 - 10:45 #8
prøv det her :

#include <Windows.h>
#include <shellAPI.h>
#include <direct.h>
#include <stdio.h>
#include <stdlib.h>


int main(int argc, char* argv[])
{
    _chdir(\"c:\\\\Program Files\\\\WinAce\\\\\");
    ShellExecute(NULL,\"open\", \"winace.exe\", \"a -y -yo c:\\\\ons\\\\backup c:\\\\ons\", \"c:\\\\Program Files\\\\WinAce\\\\\", SW_SHOWNORMAL);
    return 0;
}



Jens B
Avatar billede Slettet bruger
07. august 2001 - 10:48 #9
stadig samme fejl...

Call to undefined function \'_chdir\' in function main()


Avatar billede borrisholt Novice
07. august 2001 - 10:50 #10
Det er fordi du ikke inkluderer  direct.h

du har skrevet linjen #include <direct.h> ?

Jens B
Avatar billede Slettet bruger
07. august 2001 - 10:52 #11
Yep, jeg har skrevet præcist som dit eksempel...
Avatar billede henrik_ffc Nybegynder
07. august 2001 - 10:52 #12
Prøv


#include <Windows.h>
int main()
{
ShellExecute(NULL,\"open\", \"winace.exe\", \"a -y -yo c:\\\\ons\\\\backup c:\\\\ons\", \"c:\\\\Program Files\\\\WinAce\\\\\", SW_SHOWNORMAL); 
return 0;
}
Avatar billede borrisholt Novice
07. august 2001 - 10:54 #13
hvad så med den her :

#include <Windows.h>
#include <shellAPI.h>


int main(int argc, char* argv[])
{
    SetCurrentDirectory(\"c:\\\\Program Files\\\\WinAce\\\\\");
    ShellExecute(NULL,\"open\", \"winace.exe\", \"a -y -yo c:\\\\ons\\\\backup c:\\\\ons\", \"c:\\\\Program Files\\\\WinAce\\\\\", SW_SHOWNORMAL);
    return 0;
}



Jens B
Avatar billede henrik_ffc Nybegynder
07. august 2001 - 10:59 #14
SetCurrentDirectory er overflødig, da du sætter den som parameter i ShellExecute....
Avatar billede Slettet bruger
07. august 2001 - 11:01 #15
Begge eksempler virker. Takker...
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