A execução de %temp% vai para o arquivo na pasta Usuários

A execução de %temp% vai para o arquivo na pasta Usuários

Recentemente, criei um arquivo .bat para excluir arquivos temporários e executei-o. O código para isso é:

@ECHO OFF
color 0f
echo -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
echo (                               Delete Temporary Files                                  )
echo -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
echo This will delete temporary files from your system.
pause
echo.
echo Deleting system terporary files...
del %SystemDrive%\Windows\Temp\ /Q
echo System temporary files deleted!
echo.
echo Deleting user temporary files...
del %tmp% /Q
echo User temporary files deleted!
echo.
echo All temporary files deleted!
echo.
echo Press ENTER to finish...
set /p exit=""

Funciona, mas agora (quando vou para% Temp% no File Explorer ou na caixa Executar), ele perguntaComo você deseja abrir este arquivo? Quando seleciono o Notepad++, ele abre um arquivo com meu nome de usuário, localizado em C:\Users\Zackary (em oposição ao meu diretório de usuário, C:\Users\ZACKAR~1\ ). O arquivo diz:

Invalid number of parameters
Invalid number of parameters
Invalid number of parameters
Invalid number of parameters
ERROR: Invalid syntax. Default option is not allowed more than '2' time(s).
Type "SETX /?" for usage.

PARA ESCLARECER: %tmp% e %temp% têm os mesmos valores. Isso é retirado diretamente do CMD.

TEMP=C:\Users\ZACKAR~1\AppData\Local\Temp
TMP=C:\Users\ZACKAR~1\AppData\Local\Temp

Esse problema não ocorre em nenhuma outra conta de usuário neste computador. Isso aconteceu antes mesmo de eu ter uma Tela Preta da Morte com cursor (o que levou à substituição do disco rígido). Tentei reiniciar, sair e entrar novamente, certificando-me de que a pasta existe, etc. Como faço para% temp% voltar para minha pasta de arquivos temporários?

EDITAR: Encontrei o problema. Há um espaço na minha pasta de usuário não 8.3 (Zackary R) que faz com que os programas o vejam como 2 parâmetros C:\Users\Zackary(como primeiro parâmetro) e R\AppData\Local\Temp(como segundo parâmetro) Ele lê o primeiro parâmetro, fazendo com que ele seja redirecionado para o arquivo Zackary em a pasta Usuários.

Responder1

Eu consertei - era muito mais simples, pensei.

Havia um espaço na minha pasta de usuário não 8.3 (por exemplo, Nome de usuário, em vez de USERNA ~ 1) que faria com que os programas o vissem como 2 parâmetros C:\Users\User (como primeiro parâmetro) e Name\AppData\ Local\Temp (como segundo parâmetro). Ele lê o primeiro parâmetro, fazendo com que ele seja redirecionado para o arquivo User na pasta Users. Excluir o arquivo C:\Users\User resolveu (não foi importante porque continha apenas erros de CMD).

A solução alternativa (sem excluir esse arquivo) é usar referências %tmp% e %temp% entre aspas.

informação relacionada