Semua,
Saya memiliki masalah yang menarik yang saya cari di mana-mana untuk jawaban dan telah pendek. Semoga seseorang di luar sana bisa menjelaskan mengapa ini terjadi.
Saya memiliki CD yang berisi beberapa aplikasi C ++ dan file batch yang dijalankan untuk menyalin file ke tempat yang benar menggunakan XCOPY. Ya operasi xcopy berhasil terjadi dan aplikasi baru diletakkan di tempat yang benar.
Masalah yang saya alami adalah tepat setelah file batch selesai menyalin file, saya menutup jendela file batch, mengeluarkan CD, dan menjalankan aplikasi yang baru saja disalin dari lokasi baru di komputer. Saya mendapatkan kesalahan Windows "Tidak Ada Disk di Drive. Silakan Masukkan Disk ke Drive D:". (Itu nama drive CD saya)
Program saya TIDAK memiliki referensi ke hardcoded / path relatif sama sekali. Bahkan, setelah saya mengakui kesalahan ini 4 atau 5 kali dan membuka kembali program, saya TIDAK PERNAH melihat kesalahan lagi. Untuk melihat kesalahan muncul kembali, saya harus menjalankan file batch lagi dari CD dan mengeluarkan CD sebelum saya menjalankan aplikasi.
Hanya untuk klarifikasi lebih lanjut, melakukan salin / tempel manual (Ctrl + c, Ctrl + v) aplikasi dari disk berfungsi dengan baik. Jika saya menyalin / menempel dan mengeluarkan CD secara manual, program ini berfungsi dengan baik. Kesalahan ini hanya terjadi pada saat pertama kali program berjalan setelah saya menyalinnya dengan file batch dan menghapus CD sebelum saya menjalankan program. Juga, me-restart komputer setelah file batch dijalankan mencegah masalah ini terjadi juga.
Saya tahu apa yang Anda katakan, jika me-restart komputer setelah menyalin file lebih dari memperbaiki masalah, lalu mengapa dia menanyakan pertanyaan ini di sini? Yah, saya harus menyalin file ini di 30+ komputer non-jaringan pada satu waktu dan butuh waktu yang lama untuk me-restart masing-masing.
Apakah ada beberapa penandaan Windows aneh dari aplikasi ketika mereka disalin dengan XCOPY ke tempat program masih berpikir itu hidup di CD setelah disalin? Adakah yang punya saran, komentar, atau tautan yang dapat mengarahkan saya ke arah yang benar? Bantuan apa pun adalah phenominal.
Terima kasih banyak!
EDIT: Saya lupa menyebutkan bahwa ini ada di sistem operasi Windows XP.
EDIT2: Ini adalah kode untuk file batch saya.
@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
Seperti yang saya sebutkan di atas, saya dapat menyalin / menempel aplikasi sendiri dan program berjalan dengan baik. Tidak ada kesalahan jika saya melakukannya dengan cara ini. Kesalahan "Tidak ada disk di drive" HANYA muncul jika saya menyalin aplikasi menggunakan file batch. Bahkan, saya telah melihat masalah yang sama jika saya menyalin aplikasi menggunakan file vbscript juga. Saya bertanya-tanya apakah Windows XP memiliki beberapa cara aneh untuk menandai aplikasi yang disalin dari CD menggunakan proses seperti batch / vbscript? Ada ide?
sumber
/J
sakelar untukxcopy
, yang menyebabkannya menggunakan file I / O yang tidak dibuat - buat . Ketikhelp xcopy
pada prompt perintah untuk info lebih lanjut.