Kadang-kadang berguna untuk memeriksa fail kumpulan jika dimulakan dari command prompt yang dinaikkan atau sebagai pentadbir. Saya ingin berkongsi dengan anda satu muslihat yang saya gunakan untuk melakukan ini. Idea utama muslihat saya adalah berdasarkan nilai pemboleh ubah persekitaran khas% errorlevel% yang menyimpan kod keluar untuk kebanyakan aplikasi dan perintah konsol. Mari lihat ini dalam tindakan.
Iklan
Apabila beberapa aplikasi konsol menyelesaikan tugasnya dengan betul, pemboleh ubah% errrorlevel% menyimpan 0 sebagai nilainya.
Buka contoh arahan cepat dan jalankan arahan 'dir'. Selepas itu, cetak nilai% errorlevel% menggunakan arahan 'echo':
dir echo% errorlevel%
Ia akan menghasilkan 0 sebagai output.
Sekarang, mari kita cuba melaksanakan perintah yang memerlukan ketinggian, dari tetingkap arahan perintah tidak tinggi biasa. Sebagai contoh, mari kita mencuba fail terbuka arahan yang memerlukan hak pentadbir.
Sekiranya anda mencetak nilai% errorlevel%, itu tidak akan menjadi 0 kerana perintah openfiles akan gagal menunjukkan fail yang dibuka tanpa hak pentadbir.
Namun, jika anda menjalankannya dari command prompt yang tinggi berikut adalah cara membuka prompt cmd admin ), ia akan menunjukkan kepada anda fail yang dibuka dan akan mengembalikan 0, seperti yang diharapkan.
Dengan menggunakan ciri ini, adalah mungkin untuk melaksanakan pemeriksaan sederhana dalam fail kumpulan:
@echo off openfiles> NUL 2> & 1 jika TIDAK% ERRORLEVEL% EQU 0 goto NotAdmin echo Hello dari prompt arahan tinggi goto Tamat: NotAdmin echo Prompt arahan ini TIDAK DILARANG: Akhir
Perhatikan bahawa saya menggunakan pengalihan output untuk menekan sebarang output dari perintah openfiles. Dalam '> NUL 2> & 1 bahagian', output lalai dari perintah diarahkan ke mana-mana (NUL), dan output kesalahan diarahkan ke output standard, juga ke NUL.
Daripada arahan openfiles, anda boleh menggunakan perintah yang memerlukan ketinggian, misalnya sesi bersih arahan.
Itu sahaja.