Запуск %temp% приведет к созданию файла в папке «Пользователи»

Запуск %temp% приведет к созданию файла в папке «Пользователи»

Недавно я создал .bat-файл для удаления временных файлов и запустил его. Код для него:

@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=""

Это работает, но теперь (когда я захожу в %Temp% из Проводника или окна Выполнить), он спрашиваетКак вы хотите открыть этот файл? Когда я выбираю Notepad++, он открывает файл с моим именем пользователя, расположенный в C:\Users\Zackary (в отличие от моего каталога пользователя C:\Users\ZACKAR~1\ ). Файл выглядит так:

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.

ДЛЯ УТОЧНЕНИЯ: %tmp% и %temp% имеют одинаковые значения. Это взято напрямую из CMD.

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

Эта проблема не возникает ни в одной другой учетной записи пользователя на этом компьютере. Она возникала даже до того, как у меня появился черный экран смерти с курсором (что привело к замене жесткого диска). Я пробовал перезагружать систему, выходить из системы и входить снова, проверять существование папки и т. д. Как мне вернуть %temp% в папку временных файлов?

РЕДАКТИРОВАТЬ: Я нашел проблему. В моей папке пользователя, отличной от 8.3 (Zackary R), есть пробел, из-за которого программы видят его как 2 параметра C:\Users\Zackary(как 1-й параметр) и R\AppData\Local\Temp(как второй параметр). Он считывает первый параметр, заставляя его перенаправляться в файл Zackary в папке Users.

решение1

Я это исправил — все оказалось намного проще, чем я думал.

В моей папке пользователя не 8.3 было пространство (например, User Name, а не USERNA~1), из-за которого программы видели его как 2 параметра C:\Users\User (как первый параметр) и Name\AppData\Local\Temp (как второй параметр). Он считывает первый параметр, заставляя его перенаправляться в файл User в папке Users. Удаление файла C:\Users\User решило проблему (это было неважно, потому что он содержал только ошибки CMD).

Обходной путь (без удаления этого файла) — использовать ссылки %tmp% и %temp% в кавычках.

Связанный контент