Jump to content
Sign in to follow this  
a3deluxe

Executar ou copii

Recommended Posts

a3deluxe

como posso dizer o caminho sem ter que dizer a letra da drive?

Por exemplo no ms-dos

copy \bin\ficheiro.exe d:\

isto porque a pasta esta no mesmo directorio.

Em vb.net como posso fazer?

por exemplo: 

Shell (" \bin\file.exe")??

Share this post


Link to post
Share on other sites
thoga31

Não podes. Esse comando no CMD só funciona se "\bin\ficheiro.exe" existir a partir do directório em que te encontras. Portanto, se estiveres em C:\, ele vai copiar "C:\bin\ficheiro.exe". Se estiveres em E:\coisas, ele vai copiar de "E:\coisas\bin\ficheiro.exe".

Não te podes esquecer que parte dos comandos do CMD funcionam em função do sítio onde te encontras. Se fizeres "dir", ele vai-te mostrar os conteúdos do directório actual e não da raiz da unidade.

Portanto, em VB.NET, ele vai executar "\bin\ficheiro.exe" a partir da localização do executável do programa! Ou seja, se o teu programa estiver em "C:\users\eu\programas\o_meu_programa.exe", ele vai tentar aceder a "C:\users\eu\programas\bin\ficheiro.exe".

É obrigatório indicar os caminhos completos, excepto se os ficheiros estiverem localizados no mesmo directório do programa.


Knowledge is free!

Share this post


Link to post
Share on other sites
a3deluxe

O meu programa chama-se prog.exe e esta na raiz de uma pendrive.

na pen existe uma pasta chamada files

nessa pasta ta o ficheiro File.exe que quero executar.

Como posso fazer para executar o ficheiro File.exe existente na pasta Files, sem ter que me priocupar com a letra da Drive ?

o problema esta ai, por isso queria executar o ficheiro sem ter que definir a drive.

Share this post


Link to post
Share on other sites
thoga31

É obrigatório indicar os caminhos completos, excepto se os ficheiros estiverem localizados no mesmo directório do programa.

Process.Start("files/file.exe")


Knowledge is free!

Share this post


Link to post
Share on other sites
nelsonr

Ou então algo assim:

System.Diagnostics.Process.Start(String.Format("{0}\Files\Files.exe", Application.StartupPath))

  • Vote 1

Share this post


Link to post
Share on other sites
a3deluxe

Era mesmo isto que precisava,

já esta resolvido

Utilizei o código do thoga31

//  Process.Start("files/file.exe")   

Tentei pesquisar mas não concegui achar nada porque não sabia como pesquisar.

Mais uma vez obrigado pela ajuda.

Share this post


Link to post
Share on other sites
thoga31

Utiliza a solução do @nelsonr, é mais robusta e faz o mesmo. A parte do "System.Diagnostics" é opcional.


Knowledge is free!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.