Saya bertanya-tanya apakah mungkin untuk secara otomatis membuka file batch sebagai admin ketika Anda mengklik dua kali pada file batch, karena perintah harus dijalankan dengan hak administratif.
Catatan: Saya sudah tahu tentang solusi mengklik kanan pada file dan mengklik Run As Administrator
, tetapi ini bukan solusi otomatis.
windows-7
batch-file
Antp
sumber
sumber
Jawaban:
Ya, Anda dapat menjalankan file batch dengan hak administratif. Sayangnya, Anda tidak dapat melakukan ini langsung dari file batch itu sendiri. Anda harus terlebih dahulu membuat pintasan dari file kumpulan itu dan mengubah properti untuk pintasan itu agar dapat berfungsi.
Untuk membuat jalan pintas, ada banyak cara tetapi cara paling sederhana dan tercepat adalah dengan menggunakan opsi Kirim ke dalam menu konteks.
Tentu saja Anda dapat mengirim pintasan ke tempat yang Anda inginkan. Untuk meninggikan file batch untuk dijalankan sebagai admin, ikuti langkah-langkah di bawah ini:
sumber
if "%~1" == "" start %USERPROFILE%\Desktop\Shortcut.lnk && GOTO :EOF
di bawah ini@echo off
, dan buat tautan pintasan keprogram.bat a
bukan hanyaprogram.bat
.Seperti yang diposting dalam jawaban oleh Ben Gripka untuk pertanyaan lain:
sumber
Jawaban yang diterima memang bekerja. Tetapi saya menemukan bahwa di Windows 7, saya harus menanggung dialog UAC setiap kali pintasan diklik. IMHO ini mengurangi secara signifikan dari "otomatis" dalam pertanyaan ini!
Kemudian saya menemukan bahwa dalam situasi saya sendiri,
.bat
file yang dimaksud harus dijalankan oleh Penjadwal Tugas. Dalam hal ini, memeriksaRun with highest privileges
opsi padaGeneral
tab tugas, menangani masalah dengan baik. Ini.bat
kemudian dijalankan sebagai administrator tanpa kerepotan.PS: Saya tidak sadar bahwa saya tidak dapat mengunggah gambar pada jawaban ini, karena saya memiliki tangkapan layar kecil yang bagus sekarang! Atau bisakah saya?
sumber
pada Windows 7
Buat pintasan ke file Batch itu
Klik kanan file pintasan
Klik tombol maju untuk menemukan kotak centang untuk berjalan sebagai administrator
Periksa tangkapan layar di bawah ini
sumber
Anda dapat menggunakan skrip saya Batch_Admin untuk secara otomatis meninggikan Administrator untuk digunakan dalam semua jenis skrip Batch sendiri, atau BAT atau .CMD. Fungsi ini memastikan pekerjaan pada lingkungan standar, dengan alat standar dan dengan cara yang sama di berbagai sistem Windows. Ini menggunakan beberapa perintah Windows standar dan built-in. Jangan gunakan skrip eksternal lainnya. Dapat digunakan untuk memanggil program apa pun sebagai Administrator, bukan hanya skrip Batch. Cukuplah untuk membuat skrip kecil, yang kemudian memanggil program yang memerlukan izin Administartor. Tempatkan ini di folder PATH pencarian apa saja (dari% PATH%).
Untuk menggunakannya, Anda cukup memasukkan baris berikut (persis seperti) di skrip Batch induknya, yang akan dijalankan sebagai Administrator. Ini paling baik dilakukan di bagian atas skrip induk kami dan yang terbaik adalah yang pertama, yang akan dipanggil melalui CALL lebih lanjut, beberapa sub-skrip (lihat penjelasan terperinci di bawah).
Ini dapat dimasukkan ke dalam skrip anak apa saja, yang disebut oleh sintaks CALL. Untuk menampilkan pesan saat masih belum memiliki hak Administrator, mis. selama 5 detik sebelum memanggil Batch_Admin setel variabel "ShowAdminInfo" pada jumlah detik
Jadi cara kerjanya:
• Memanggil UAC.ShellExecute melalui VBScript untuk mengambil izin pengguna
• Batch menjalankan skrip, atau BAT atau CMD
• Penelepon skrip dapat memiliki ruang nama panjang yang termasuk dalam panggilan dalam tanda kutip
• Kembalikan semua parameter panggilan script master yang dilewatkan dari baris perintah, seolah-olah tidak ada transmisi panggilan dan mulai sesuatu dari awal, juga dengan karakter khusus, seperti tanda seru (!) Dan persentase (%), dan juga dengan tanda kurung ()
• Memegang lokasi skrip master jika panggilan berlangsung di direktori di mana skrip ini adalah master
• Auxiliary menampilkan pesan jika kita mengatur sendiri variabel "ShowAdminInfo", mis. selama 5 detik yang dapat mencegah berlalunya segera hak-hak Administrator memberikan informasi tambahan dan kemungkinan keputusan yang diinformasikan. Contoh pengaturan yang harus ditetapkan: SET ShowAdminInfo = 5 Secara default, karena variabel ini tidak ditentukan, tidak ditampilkan.
• Skrip memanggil juga di jalur pencarian sistem% PATH% dan dari sumber daya jaringan, seperti: \ Computer \ share \ test.bat
• Mencegah kesalahpahaman dalam menulis file tambahan yang diperlukan ketika skrip memanggil beberapa Batch_Admin hampir secara bersamaan. Ini menggunakan nomor acak dari 1 hingga 100
• Tapi, yang terbaik adalah menggunakannya pada skrip induk. Transisi ke hak Administrator selalu mengharuskan Anda menjalankan skrip sepenuhnya lagi, di jendela baru, di lingkungan baru, tanpa bantuan ke variabel yang ditetapkan sebelumnya dalam skrip kami dan nilai-nilai variabel ini tidak lulus kemudian memanggil sebagai Administrator . Hanya script yang akan dieksekusi lagi.
Di bawah ini skrip lengkap Batch_Admin. Informasi tambahan tentang ini ada di situs saya.
Salin teks berikut ke Notepad dan simpan ke disk sebagai: Batch_Admin.bat
sumber
Atau Anda dapat membuat file batch kedua, ini dapat memungkinkan Anda untuk menjalankan apa pun sebagai administrator, sementara hanya memasukkan kata sandi administrator sekali. Kata sandi disimpan dalam token otentikasi, dan membuat beberapa komputer nyata tahu cara memecahkannya.
sumber
Ini juga berfungsi SUMBER: https://social.technet.microsoft.com/Forums/windows/en-US/bc8a4561-d97e-4339-9b1c-9b90e54a7f92/request-elevation-inside-cmdbatch-file
sumber
Anda dapat menggunakan utilitas baris perintah
elevate
. (tautan unduhan - https://drive.google.com/open?id=0Bz7qe_olclTwVGZLUklFMHNxQ00 )sumber
Ini adalah contoh untuk menjalankan pemukul sebagai administrator. Ini bekerja untuk saya.
Bunyinya seperti ini:
sumber