Como um processo pode ser executado a partir de uma linha de comando sem especificar uma letra de unidade antes do caminho?

0

O Synaptics Touchpad Helper é executado no logon do usuário como uma tarefa agendada. A linha de comando configurada para executar o executável é ...

"\Program Files\Synaptics\SynTP\SynTPEnh.exe"

Como você pode supor, ele está instalado na unidade C: \. A tarefa inicia o processo sem um problema, apesar de parecer malformada à primeira vista. Alguém pode explicar exatamente como um processo pode ser executado a partir de um caminho como este sem especificar a letra da unidade?

    
por Bigbio2002 06.07.2015 / 16:19

2 respostas

2

Todo processo tem uma unidade e diretório atuais, o processo que executa os trabalhos agendados não é diferente.

Quando um processo acessa um arquivo, se nenhuma unidade e diretório forem especificados, o Windows assumirá a unidade e o diretório atuais. Se um diretório for especificado, mas nenhuma unidade, o Windows assumirá a unidade atual.

Neste caso, como não havia uma unidade especificada no caminho, o Windows assumirá a unidade atual do processo do planejador, que quase certamente será a unidade do sistema - normalmente C:

    
por 06.07.2015 / 17:45
-1

bem, obviamente assume C:\ Não acho que esteja malformado, tem sido possível fazer isso em (próprio) DOS que remonta a mais de 15 anos. No caso do DOS, ele analisa em qual unidade você está atualmente, portanto, se você estiver em C:\windows e disser \blah\bleh , ele será executado c:\blah\bleh Se você estivesse em D:\> e você \blah\bleh assumisse você quer dizer d:\blah\bleh é um caminho relativo em que o caminho é relativo ao diretório em que você está .. Esse é o caso do CMD.exe e do DOS. O agendador de tarefas pode ter alguma configuração como iniciar, informar ou talvez apenas assumir C. Mas não há nada malformado e não é estranho. É um caminho relativo. Assim como em um sentido C:\windows\system32>calc.exe pode ser relativo. Ou C:\>windows\system32\calc.exe , que é diferente de C:\blah>\windows\system32\calc.exe Como \windows funciona em qualquer diretório em que você esteja. Considerando que windows sem a barra invertida precedente significa que o Windows deve ser um subdiretório do diretório atual.

Alguém pode dar uma resposta melhor respondendo especificamente ao agendador de tarefas, mas de qualquer forma.

    
por 06.07.2015 / 16:29