Como saber qual arquivo foi clicado com o botão direito?

0

Estou tentando escrever um script e adicioná-lo ao menu de contexto do botão direito. Para adicionar os itens ao menu, usei isto: Windows: Como adicionar ação de script em lote a Clique com o botão direito do mouse , exceto em vez de

HKEY_CLASSES_ROOT\Directory\shell\MyScript1

Eu usei

HKEY_CLASSES_ROOT\*\shell\MyScript1

para que eles apareçam em todos os arquivos, independentemente da extensão.

Agora, no arquivo bat atual, preciso de uma maneira de saber qual arquivo foi clicado com o botão direito do mouse, para que eu possa usá-lo como uma entrada. Existe alguma maneira de colocar o caminho completo do arquivo em uma variável para uso posterior?

    
por user304822 04.03.2014 / 01:29

1 resposta

0

Se um argumento passado para um script em lote é um arquivo, você pode usar variáveis de ambiente para obter coisas como caminho, nome do arquivo, extensão de arquivo, etc. Por exemplo:

@echo off
::
::If no parameter is passed, exit.
::
if [%~1]==[] echo Missing parameter! Script will exit... && exit /b

::
::If file does not exist, exit.
::
if not exist "%~1" echo File does not exist. Are you sure "%~1" is a file? && exit /b

echo.
echo File info
echo ---------
echo Path: %~dp1
echo Name: %~n1
echo Extension: %~x1
echo.
pause
exit /b

Isso funciona independentemente de você arrastar o arquivo para o script ou passá-lo como um parâmetro na linha de comando. Você pode aprender mais sobre argumentos e sua sintaxe estendida em SS64.com.

    
por 04.03.2014 / 01:45