బ్యాచ్ ఫైల్ ఎలివేటెడ్ కమాండ్ ప్రాంప్ట్ నుండి లేదా అడ్మినిస్ట్రేటర్గా ప్రారంభించబడిందా అని తనిఖీ చేయడం కొన్నిసార్లు ఉపయోగపడుతుంది. దీన్ని చేయడానికి నేను ఉపయోగిస్తున్న ఒక ఉపాయాన్ని మీతో పంచుకోవాలనుకుంటున్నాను. నా ట్రిక్ యొక్క ప్రధాన ఆలోచన ప్రత్యేక ఎన్విరాన్మెంట్ వేరియబుల్% ఎర్రెల్ లెవల్% విలువపై ఆధారపడి ఉంటుంది, ఇది చాలా కన్సోల్ అనువర్తనాలు మరియు ఆదేశాల కోసం నిష్క్రమణ కోడ్ను నిల్వ చేస్తుంది. దీనిని చర్యలో చూద్దాం.
ప్రకటన
కొన్ని కన్సోల్ అనువర్తనం దాని పనిని సరిగ్గా పూర్తి చేసినప్పుడు,% errrorlevel% వేరియబుల్ దాని విలువగా 0 ని నిల్వ చేస్తుంది.
క్రొత్త కమాండ్ ప్రాంప్ట్ ఉదాహరణను తెరవండి మరియు 'dir' ఆదేశాన్ని అమలు చేయండి. ఆ తరువాత, 'ఎకో' ఆదేశాన్ని ఉపయోగించి% errorlevel% విలువను ముద్రించండి:
dir echo% errorlevel%
ఇది అవుట్పుట్గా 0 ను ఉత్పత్తి చేస్తుంది.
ఇప్పుడు, సాధారణ ఎలివేటెడ్ కాని కమాండ్ ప్రాంప్ట్ విండో నుండి ఎలివేషన్ అవసరమయ్యే ఆదేశాన్ని అమలు చేయడానికి ప్రయత్నిద్దాం. ఉదాహరణకు, ప్రయత్నిద్దాం ఓపెన్ ఫైల్స్ నిర్వాహక హక్కులు అవసరమయ్యే ఆదేశం.
మీరు% errorlevel% విలువను ప్రింట్ చేస్తే, అది 0 కాదు ఎందుకంటే నిర్వాహక హక్కులు లేకుండా తెరిచిన ఫైళ్ళను చూపించడంలో ఓపెన్ ఫైల్స్ ఆదేశం విఫలమవుతుంది.
అయితే, మీరు దీన్ని ఎలివేటెడ్ కమాండ్ ప్రాంప్ట్ నుండి అమలు చేస్తే ( ఇక్కడ ఒక అడ్మిన్ cmd ప్రాంప్ట్ ఎలా తెరవాలి ), ఇది మీకు తెరిచిన ఫైల్లను చూపుతుంది మరియు 0 హించిన విధంగా 0 తిరిగి వస్తుంది.
ఈ లక్షణాన్ని ఉపయోగించి, బ్యాచ్ ఫైల్లో సాధారణ తనిఖీని అమలు చేయడం సాధ్యపడుతుంది:
ఓపెన్ ఫైల్లను ఆపివేయండి> NUL 2> & 1 లేకపోతే% ERRORLEVEL% EQU 0 goto NotAdmin echo ఎలివేటెడ్ కమాండ్ ప్రాంప్ట్ నుండి హలో ముగింపు: NotAdmin echo ఈ కమాండ్ ప్రాంప్ట్ ఎలివేటెడ్ కాదు: ముగింపు
ఓపెన్ ఫైల్స్ కమాండ్ నుండి ఏదైనా అవుట్పుట్ను అణిచివేసేందుకు నేను అవుట్పుట్ దారి మళ్లింపును ఉపయోగిస్తానని గమనించండి. '> NUL 2> & 1 భాగం' లో, కమాండ్ యొక్క డిఫాల్ట్ అవుట్పుట్ ఎక్కడా (NUL) కు మళ్ళించబడుతుంది, మరియు లోపం అవుట్పుట్ ప్రామాణిక అవుట్పుట్కు మళ్ళించబడుతుంది, అనగా NUL కు కూడా.
ఓపెన్ఫైల్స్ ఆదేశానికి బదులుగా, మీరు ఎలివేషన్ అవసరమయ్యే ఏదైనా ఆదేశాన్ని ఉపయోగించవచ్చు, ఉదాహరణకు నెట్ సెషన్ ఆదేశం.
అంతే.