"드라이브에 디스크가 없습니다." 배치 파일 xcopy를 사용하여 CD에서 방금 복사했지만 전혀 필요하지 않은 응용 프로그램의 오류 메시지

"드라이브에 디스크가 없습니다." 배치 파일 xcopy를 사용하여 CD에서 방금 복사했지만 전혀 필요하지 않은 응용 프로그램의 오류 메시지

모두,

흥미로운 문제가 있어서 여기저기서 답을 찾았지만 답이 부족했습니다. 누군가가 왜 이런 일이 일어나는지 밝혀줄 수 있기를 바랍니다.

여러 C++ 응용 프로그램이 포함된 CD와 XCOPY를 사용하여 파일을 올바른 위치에 복사하기 위해 실행되는 배치 파일이 있습니다. 예, xcopy 작업이 성공적으로 수행되고 새 응용 프로그램이 올바른 위치에 배치됩니다.

내가 겪고 있는 문제는 배치 파일이 파일 복사를 마친 직후에 배치 파일 창을 닫고 CD를 꺼내고 컴퓨터의 새 위치에서 새로 복사된 응용 프로그램을 실행하는 것입니다. "드라이브에 디스크가 없습니다. 드라이브 D:에 디스크를 넣으십시오."라는 Windows 오류가 나타납니다. (이것이 내 CD 드라이브의 이름입니다)

내 프로그램에는 하드코딩된/상대 경로에 대한 참조가 전혀 없습니다. 실제로 이 오류를 4~5번 인정하고 프로그램을 다시 열면 다시는 오류가 표시되지 않습니다. 오류 팝업이 다시 나타나는 것을 보려면 CD에서 배치 파일을 다시 실행하고 응용 프로그램을 실행하기 전에 CD를 꺼내야 합니다.

좀 더 명확하게 설명하자면, 디스크에서 애플리케이션을 수동으로 복사/붙여넣기(Ctrl+c, Ctrl+v)하면 제대로 작동합니다. CD를 수동으로 복사/붙여넣기하고 꺼내면 프로그램이 제대로 작동합니다. 이 오류는 프로그램을 실행하기 전에 배치 파일로 복사하고 CD를 제거한 후 프로그램을 처음 실행할 때만 발생합니다. 또한 배치 파일을 실행한 후 컴퓨터를 다시 시작하면 이 문제가 완전히 발생하는 것을 방지할 수 있습니다.

무슨 말인지 알겠습니다. 파일을 복사한 후 컴퓨터를 다시 시작하면 문제가 해결되는데, 왜 여기서 이런 질문을 하는 걸까요? 글쎄, 이 파일을 네트워크에 연결되지 않은 30대 이상의 컴퓨터에 동시에 복사해야 하며 각 컴퓨터를 다시 시작하는 데 오랜 시간이 걸립니다.

XCOPY를 사용하여 응용 프로그램을 복사한 후에도 프로그램이 여전히 CD에 있다고 생각하는 위치에 복사할 때 응용 프로그램에 대한 이상한 Windows 태그가 있습니까? 나에게 올바른 방향을 알려줄 수 있는 제안, 의견 또는 링크가 있는 사람이 있습니까? 어떤 도움이라도 경이로울 것입니다.

정말 감사합니다!

편집: 이것이 Windows XP 운영 체제에 있다는 것을 언급하는 것을 잊었습니다.

EDIT2: 내 배치 파일의 코드는 다음과 같습니다.


@ECHO OFF

SET INSTALLSERVER=%~dp0
SET AppProgramFiles=%ProgramFiles%\ApplicationName\

XCOPY "%INSTALLSERVER%Scenario\*.*" "%AppProgramFiles%Scenario\" /C /Y /q
XCOPY "%INSTALLSERVER%Plan\*.*" "%AppProgramFiles%Plan\" /C /Y /q
XCOPY "%INSTALLSERVER%Data" "%AppProgramFiles%Data\" /C /Y /q /e
XCOPY "%INSTALLSERVER%Misc\*.*" "%AppProgramFiles%Misc\" /C /Y /q


위에서 언급했듯이 응용 프로그램을 직접 복사/붙여넣기하면 프로그램이 제대로 실행됩니다. 이렇게 하면 오류가 없습니다. "드라이브에 디스크 없음" 오류는 배치 파일을 사용하여 응용 프로그램을 복사한 경우에만 나타납니다. 실제로 vbscript 파일을 사용하여 애플리케이션을 복사하는 경우에도 동일한 문제가 발생했습니다. Windows XP에 배치/vbscript와 같은 프로세스를 사용하여 CD에서 복사된 응용 프로그램에 태그를 지정하는 이상한 방법이 있는지 궁금합니다. 어떤 아이디어가 있나요?

관련 정보