a3deluxe Posted August 26, 2013 at 01:35 PM Report #522673 Posted August 26, 2013 at 01:35 PM 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")??
thoga31 Posted August 26, 2013 at 02:49 PM Report #522677 Posted August 26, 2013 at 02:49 PM 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!
a3deluxe Posted August 26, 2013 at 04:00 PM Author Report #522683 Posted August 26, 2013 at 04:00 PM 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.
thoga31 Posted August 26, 2013 at 04:09 PM Report #522684 Posted August 26, 2013 at 04:09 PM É 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!
nelsonr Posted August 26, 2013 at 04:17 PM Report #522686 Posted August 26, 2013 at 04:17 PM Ou então algo assim: System.Diagnostics.Process.Start(String.Format("{0}\Files\Files.exe", Application.StartupPath)) 1 Report
a3deluxe Posted August 26, 2013 at 08:44 PM Author Report #522707 Posted August 26, 2013 at 08:44 PM 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.
thoga31 Posted August 26, 2013 at 09:12 PM Report #522710 Posted August 26, 2013 at 09:12 PM Utiliza a solução do @nelsonr, é mais robusta e faz o mesmo. A parte do "System.Diagnostics" é opcional. Knowledge is free!
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now