Atalho com caminho relativo [duplicado]

2

Estou tentando criar um atalho cujo caminho seja algo como:

apps\bin\myapp.exe --userdir apps\conf\_user 

Isso não funciona porque o Windows quer um caminho absoluto, mas esse atalho é armazenado em um pendrive e, portanto, não posso codificar a coisa para C: ou D: já que ela mudará toda vez que o USB for inserido em um novo PC .

Atualmente, estou usando um arquivo * .bat para contornar isso, mas as janelas CMD.EXE permanecem visíveis até serem fisicamente fechadas - como uma PITA.

Alguma ideia ???

    
por Alex.Barylski 10.12.2013 / 20:57

2 respostas

1

Você pode verificar essa pergunta e a resposta aceita. Ela permitirá ocultar a janela de comando durante a execução seu arquivo .bat. Colado abaixo por conveniência.

Solução 1:

Salve esta linha de texto como arquivo invisible.vbs :

CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False

Para executar qualquer programa ou arquivo em lote de forma invisível, use-o da seguinte forma:

wscript.exe "C:\Wherever\invisible.vbs" "C:\Some Other Place\MyBatchFile.bat"

Para também ser capaz de passar / retransmitir uma lista de argumentos, use apenas duas aspas duplas

CreateObject("Wscript.Shell").Run "" & WScript.Arguments(0) & "", 0, False

Exemplo: Invisible.vbs "Kill.vbs ME.exe"

Solução 2:

Use uma ferramenta de linha de comando para iniciar silenciosamente um processo: Quiet , hidecon ou hideexec .

    
por 10.12.2013 / 21:13
0

Para pen drives, onde a unidade muda de computador para computador, eu uso arquivos em lote (em vez de atalhos), onde% ~ dp0, que é o equivalente da unidade e caminho que contém o arquivo em lotes. Se você quer apenas que a unidade seja% ~ d0 \

@echo off
cd% ~ dp0apps \ conf_user
% ~ dp0apps \ bin \ myapp.exe

    
por 10.12.2013 / 21:22