Suprime a saída de MKLINK / J?

1

Eu estou olhando para ter um arquivo em lotes, onde ele suprime a saída mklink . Eu não quero que o usuário veja o caminho.

Consegui fazer isso com > nul e robocopy .

mklink /J "newpath" "originalpath"

é a aparência do código de exemplo.

Eu basicamente tenho uma interface onde os usuários podem executar arquivos em lote, mas eles não devem ver o código-fonte. Eles devem apenas ser capazes de clicar em um ícone e executar o arquivo. Cria mais de 40 links simbólicos com o clique do ícone e, se existirem alguns links, ele mostrará um aviso

Cannot create a file when that file already exists.

Existe alguma maneira de suprimir esta notificação e ocultar os avisos?

    
por Justin Thomas 25.02.2017 / 19:50

1 resposta

1

I am looking to have a batch file, where it suppresses the mlink output, i do not want the user to see the path. Is there anyway to suppress this warning and hide the warnings?

Absolutamente, existem algumas coisas simples que ajudarão (use toda ou qualquer combinação, se necessário):

  1. Use ECHO garantindo que @ECHO OFF esteja definido pelo menos na linha acima do MKLink comando
  2. Use EXIST garantindo que o IF NOT EXIST "newpath" preceda o comando mklink /J "newpath" "originalpath" na mesma linha.
  3. Use Redirecionamento corretamente para redirecionar o comando mklink /J "newpath" "originalpath" para > NUL , da mesma forma que você usou o passado.
  4. Use o CLS logo na linha seguinte após o comando mklink /J "newpath" "originalpath" > NUL para limpar a tela e qualquer saída do comando executado antes.
  5. Use EXIT logo na linha seguinte após o comando mklink /J "newpath" "originalpath" > NUL (ou depois de CLS ).

Essencialmente o que isso significa é mostrar apenas a saída do comando na tela, só execute o comando MKLink se a "newpath" NÃO existir, se a "newpath" não existir, redirecione a MKLink comando para nul , que garante que ele não está na tela, limpe a tela após o comando MKLink (seja ele executado ou não) e saia imediatamente e feche a janela de comando.

Script em lote

@ECHO OFF
IF NOT EXIST "newpath" MKLINK /J "newpath" "originalpath" > NUL
CLS
EXIT

Mais recursos

por 26.02.2017 / 02:30