Saya mencoba menjalankan file batch dari jaringan bersama, tetapi saya terus mendapatkan pesan berikut: "Jalur UNC tidak didukung. Default ke direktori Windows." File batch berada di \\Server\Soft\WPX5\install.bat
. Saat masuk sebagai administrator, dari Desktop Windows 7 saya, saya menavigasi ke \\Server\Soft\WP15\
dan klik dua kali pada install.bat, saat itulah saya mendapatkan "jalur UNC tidak didukung." pesan. Saya menemukan beberapa saran online yang menyatakan bahwa drive pemetaan tidak akan berfungsi, tetapi menggunakan tautan simbolis akan menyelesaikan masalah ini, tetapi tautan simbolis tidak berfungsi untuk saya. Di bawah ini adalah konten file batch saya, saya sangat menghargai bantuan apa pun yang dapat membantu saya mencapai apa yang saya coba lakukan. Pada dasarnya, saya ingin menjalankan file batch dari \\Server\Soft\WP15\install.bat
.
Konten file batch
mklink /d %userprofile%\Desktop\WP15 \\server\soft\WP15
\\server\soft\WP15\setup.exe
robocopy.exe "\\server\soft\WP15\Custom" /copyall "C:\Program Files (x86)\WP\Custom Templates"
Regedit.exe /s \\server\soft\WPX5\Custom\Migrate.reg
Juga, bagaimana cara menghapus tautan simbolis setelah penginstalan selesai?
sumber
Jawaban:
PUSHD dan POPD akan membantu dalam kasus Anda.
Ketik
PUSHD /?
dari baris perintah untuk informasi lebih lanjut.sumber
pushd %~dp0
Itu akan membuatnya mengubah direktori ke direktori yang berisi file bat Anda. Ini masih akan mencetak peringatan, tetapi kemudian akan berfungsi seperti biasa. Jika file bat menggunakan '% ~ dp0' di tempat lain, mungkin ada masalah dengan itu, dalam hal ini, Anda dapat mendeteksi jika%~dp0
dimulai dengan '//' di awal file bat, dan jika demikian,,pushd
lalu jalankan bat file lagi, lalugoto :EOF
. Ini akan membuatnya berjalan di direktori yang baru dipetakan.PUSHD
, jalankan skrip ke-2 viaCMD /C
, dan ikuti denganPOPD
. Kontrol akan kembali ke skrip induk setelahCMD /C
skrip keluar, meskipun dihentikan oleh CTRL-C.Ada pengaturan registri untuk menghindari pemeriksaan keamanan ini (meskipun demikian, gunakan dengan risiko Anda sendiri):
Catatan: Pada Windows 10 versi 1803, pengaturan tampaknya berada di bawah HKLM: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Command Processor
sumber
Saya merasa
cls
adalah jawaban terbaik. Ini menyembunyikan pesan UNC sebelum siapa pun dapat melihatnya. Saya menggabungkannya dengan@pushd %~dp0
kanan setelahnya sehingga akan tampak seperti membuka skrip dan memetakan lokasi dalam satu langkah, sehingga mencegah masalah UNC lebih lanjut.Catatan:
pushd
akan mengubah direktori kerja Anda ke lokasi skrip di drive baru yang dipetakan.popd
pada akhirnya, untuk membersihkan drive yang dipetakan.sumber
popd
di bagian akhir (Windows 7), jika tidak, drive yang dipetakan macet setelah jendela ditutup.Pada dasarnya, Anda tidak dapat menjalankannya dari jalur UNC tanpa melihat pesan itu.
Yang biasanya saya lakukan hanyalah meletakkan a
CLS
di bagian atas skrip jadi saya tidak perlu melihat pesan itu. Kemudian, tentukan jalur lengkap ke file di berbagi jaringan yang perlu Anda gunakan.sumber
Saya hanya perlu dapat menjelajah Windows Explorer melalui berbagi server, lalu klik dua kali meluncurkan file batch. @dbenham membawa saya ke solusi yang lebih mudah untuk skenario saya (tanpa
popd
kekhawatiran):sumber
Alih-alih meluncurkan batch langsung dari explorer - buat pintasan ke batch dan setel direktori awal di properti pintasan ke jalur lokal seperti% TEMP% atau semacamnya.
Untuk menghapus tautan simbolik, gunakan perintah rmdir.
sumber
Saya mengalami masalah yang sama baru-baru ini bekerja dengan file batch pada drive berbagi jaringan di Windows 7.
Cara lain yang berhasil bagi saya adalah memetakan server ke drive melalui Windows Explorer: Tools -> Map network drive. Berikan huruf drive dan jalur folder ke \ server Anda. Karena saya bekerja dengan berbagi jaringan yang sering memetakannya membuatnya lebih nyaman, dan menyelesaikan kesalahan "jalur UNC tidak didukung".
sumber
Situasi saya hanya sedikit berbeda. Saya menjalankan file batch saat memulai untuk mendistribusikan versi terbaru aplikasi bisnis internal.
Dalam situasi ini saya menggunakan Windows Registry Run Key dengan string berikut
Ini menjalankan dua perintah saat startup dalam urutan yang benar. Pertama-tama menyalin file batch secara lokal ke direktori yang izinnya dimiliki pengguna. Kemudian menjalankan file batch yang sama. Saya dapat membuat direktori lokal c: \ InternalApps dan menyalin semua file dari jaringan.
Ini mungkin terlambat untuk menjawab pertanyaan pembuat poster asli tetapi mungkin membantu orang lain.
sumber
Ini adalah RegKey yang saya gunakan:
sumber
Ini adalah utas yang sangat lama, tetapi saya masih menggunakan Windows 7. :-)
Ada satu hal yang tampaknya tidak diperhitungkan oleh siapa pun, yang mungkin juga akan membantu pengguna Windows 10.
Jika Ekstensi Perintah diaktifkan, perintah PUSHD menerima jalur jaringan selain huruf dan jalur drive normal.
Jadi jawaban yang jelas - dan paling sederhana - mungkin untuk mengaktifkan ekstensi perintah dalam skrip batch, jika Anda bermaksud menggunakan PUSHD. Paling tidak, ini harus mengurangi masalah yang mungkin Anda alami dalam menggunakan PUSHD dengan jalur jaringan.
sumber
Saya env windows10 2019 versi lts dan saya menambahkan dua data binray ini, perbaiki kesalahan ini
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
DisableUNCCheck nilai 1Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Command Processor
DisableUNCCheck nilai 1sumber
Mengedit registri Windows tidak sepadan dan tidak aman, gunakan
Map network drive
dan muat berbagi jaringan seolah-olah dimuat dari salah satu drive lokal Anda.sumber