%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(첫 번째 매개변수) 로 보고 R\AppData\Local\Temp(두 번째 매개변수) 첫 번째 매개변수를 읽어서 Zackary 파일로 다시 라우팅하게 됩니다. 사용자 폴더.

답변1

나는 그것을 고쳤습니다. 제가 생각했던 것보다 훨씬 간단했습니다.

8.3이 아닌 사용자 폴더(예: USERNA~1이 아닌 사용자 이름)에 공백이 있어 프로그램에서 이를 두 개의 매개변수 C:\Users\User(첫 번째 매개변수) 및 Name\AppData\로 표시하게 됩니다. Local\Temp(두 번째 매개변수) 첫 번째 매개변수를 읽어 사용자 폴더의 사용자 파일로 다시 라우팅합니다. C:\Users\User 파일을 삭제하면 문제가 해결되었습니다(CMD 오류만 포함되어 있으므로 중요하지 않습니다).

해결 방법(해당 파일을 삭제하지 않고)은 %tmp% 및 %temp% 참조를 따옴표로 묶는 것입니다.

관련 정보