Agendador de tarefas do Windows procurando o arquivo errado

0

Eu tenho uma tarefa que executa um .exe, é um programa VB simples que lê a partir de um arquivo txt, no código que eu tenho isso:

 My.Computer.FileSystem.OpenTextFileReader("test.txt")

Mas quando o agendador executa o .exe, ele lança uma exceção FileNotFound porque está pesquisando em "C: \ Windows \ system32 \ test.txt".

Eu tentei escrever o caminho como ". \ test.txt" Eu preciso que o arquivo esteja no mesmo diretório que o .exe.

Como posso consertar isso? Este é um problema do agendador de tarefas do windows-7?

Nota: quando executo o programa manualmente, ele não lança a exceção. update: o caminho deve ser assim porque vou implantar o .exe em outros computadores com outros caminhos

    
por Wabonano 31.10.2014 / 16:59

1 resposta

0

O Agendador de Tarefas não carrega o perfil do usuário para executar as coisas, portanto, ele inicia os scripts em "C: \ windows \ system32 \".

Na seção Ação das propriedades da tarefa, você pode definir a pasta "Iniciar em" para especificar a pasta a ser alterada antes de iniciar o programa.

DaajudadoWindowssobreoassunto:

IntheStartin(optional)textbox,youcanspecifytheworkingdirectoryforthecommandlinethatexecutestheprogramorscript.Thisshouldbeeitherthepathtotheprogramorscriptfileorthepathtothefilesthatareusedbytheexecutablefile.

Casocontrário,vocêprecisaráespecificarocaminhoexatodoarquivoquedesejaacessar(test.txt)ougarantirqueotest.txtexistaemC:\windows\system32ouemumapastanocaminhodosistema.variável.

SeoarquivodetextoestivernamesmapastadoEXEquevocêestáexecutandonatarefa,nopróprioEXE,vocêpodeespecificarocaminhodosarquivosTXT,lendoocaminhoatualdoEXE.

NoVB,vocêpodeusaro App.Path comando para obter essa informação.

    
por 31.10.2014 / 17:13