Недавно я создал файл .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 ответ1

1

Я исправил это - это было намного проще их, я думал.

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .