Por isso, incentivo você a usar o operador %~dp
, em vez de apenas o operador %~p
. Para obter uma lista completa dos operadores de arquivos e como usá-los, use FOR /?
na linha de comando - no final da seção.
Algo como o abaixo deve fornecer um código mais previsível que forneça um pouco de flexibilidade na maneira como você aceita nomes de arquivos de linha de comando.
@Echo OFF
SET File=%1
SET HeaderFilePath=%2
SET RetrunCode="0"
Call :sub %File%
exit /b
:sub
SET FileName=%~n1
SET Ext=%~x1
SET PGPProcessPath=%~dp1
SET EncryptFile=%~fnx1
SET DecryptFile=%EncryptFile:_pgp=%
pause
if "%Ext%"==".zip" (goto Function1) else Goto Function2