Arquivo de lote executado via pasta de destino de alterações de atalho

0

Eu tenho um arquivo de lote que move arquivos de uma pasta específica para a pasta atual (a pasta na qual o comando é executado), mas se eu criar um link de área de trabalho para esse arquivo de lote e tentar executá-lo, os arquivos movido para a pasta na qual o arquivo em lote reside, em vez da pasta na qual o comando está sendo executado. Por que isso seria? Existe alguma maneira de corrigir isso?

    
por user2996777 25.10.2017 / 17:17

2 respostas

2

Existem duas maneiras de corrigir isso.

Você pode alterar o comando no arquivo em lote para nomear explicitamente a pasta:

move M:\Logs\*.* C:\NewLogFolder

Ou você pode alterar o local Iniciar em no atalho para o novo destino:

    
por 25.10.2017 / 17:54
2

Uma maneira de contornar isso é usar o menu de contexto "Enviar para".

Se você "iniciar > executar" shell:sendto , chegará à pasta mágica onde os atalhos de envio são mantidos. Você pode então adicionar um atalho ao seu arquivo de lote para o seu desktop e, em seguida, arraste o atalho do arquivo de lote para esta pasta (as permissões podem impedi-lo de adicionar diretamente).

Quando o arquivo de lote é executado pelo atalho, o parâmetro %1 será definido para a pasta ou arquivo destacado.

Então, se eu destacar a pasta "c: \ bar" e depois "Sendto & Fo ;.

foo.bat:

@echo off
echo %1
pause

Emitiria:

C:\Bar

Se o arquivo em lote foi:

move M:\logs\*.* %1

Você acabaria com o resultado adequado, desde que não realce um nome de arquivo. Portanto, teste os erros e a sanidade primeiro.

    
por 25.10.2017 / 17:59

Tags