La ejecución de %temp% va al archivo en la carpeta Usuarios

La ejecución de %temp% va al archivo en la carpeta Usuarios

Recientemente, creé un archivo .bat para eliminar archivos temporales y lo ejecuté. El código para ello es:

@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, pero ahora (cuando voy a %Temp% desde el Explorador de archivos o el cuadro Ejecutar), me pregunta¿Cómo desea abrir este archivo? Cuando selecciono Notepad++, se abre un archivo con mi nombre de usuario, ubicado en C:\Users\Zackary (a diferencia de mi directorio de usuarios, C:\Users\ZACKAR~1\). El archivo dice:

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 ACLARAR: %tmp% y %temp% tienen los mismos valores. Esto se toma directamente de CMD.

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

Este problema no ocurre en ninguna otra cuenta de usuario en esta computadora. Sucedió incluso antes de que tuviera una pantalla negra de la muerte con el cursor (lo que me llevó a reemplazar el disco duro). Intenté reiniciar, cerrar sesión y volver a iniciarla, asegurarme de que la carpeta exista, etc. ¿Cómo hago para que %temp% vuelva a mi carpeta de archivos temporales?

EDITAR: Encontré el problema. Hay un espacio en mi carpeta de usuario que no es 8.3 (Zackary R) que hace que los programas lo vean como 2 parámetros C:\Users\Zackary(como primer parámetro) y R\AppData\Local\Temp(como segundo parámetro) lee el primer parámetro, lo que hace que se redirija al archivo en Zackary. la carpeta Usuarios.

Respuesta1

Lo arreglé; pensé que era mucho más simple.

Había un espacio en mi carpeta de usuario que no es 8.3 (por ejemplo, Nombre de usuario, en lugar de USERNA~1) que causaba que los programas lo vieran como 2 parámetros C:\Users\User (como primer parámetro) y Nombre\AppData\ Local\Temp (como segundo parámetro). Lee el primer parámetro, lo que hace que se redirija al archivo Usuario en la carpeta Usuarios. Eliminando el archivo C:\Users\User se solucionó (no era importante porque solo contenía errores CMD).

La solución alternativa (sin eliminar ese archivo) es utilizar las referencias %tmp% y %temp% entre comillas.

información relacionada