ونڈوز کمانڈ لائن پر کمانڈ کا مکمل راستہ تلاش کرنا

ونڈوز کمانڈ لائن پر کمانڈ کا مکمل راستہ تلاش کرنا
ونڈوز کمانڈ لائن پر کمانڈ کا مکمل راستہ تلاش کرنا

تعارف: ونڈوز پر پوشیدہ کمانڈ کے راستوں کو کھولنا

ونڈوز کمانڈ لائن پر اسکرپٹس اور کمانڈز کے ساتھ کام کرنے والے ڈویلپرز کے لیے پاتھ کے تنازعات ایک متواتر مسئلہ ہوسکتے ہیں۔ جب آپ کے اسکرپٹ میں سے کسی کو کسی دوسرے پروگرام کے ذریعہ اس کے راستے میں جگہ دینے کی وجہ سے چھایا جاتا ہے، تو یہ ایک دی گئی کمانڈ کے مکمل راستے کی نشاندہی کرنا بہت ضروری ہو جاتا ہے۔ یہ منظر نامہ اکثر صارفین کو UNIX 'کونسا' کمانڈ کے مساوی تلاش کرنے کی طرف لے جاتا ہے، جو کمانڈ کے صحیح راستے کا پتہ لگانے کو آسان بناتا ہے۔

UNIX سسٹمز پر، 'کونسا' کمانڈ ایک مخصوص کمانڈ کے مکمل راستے کو ظاہر کرنے کے لیے استعمال کیا جاتا ہے، اس طرح کے سایہ دار مسائل کو حل کرنے میں مدد فراہم کرتا ہے۔ تاہم، ونڈوز کے صارفین حیران ہوسکتے ہیں کہ کیا ان کے پلیٹ فارم پر ایسی ہی کوئی افادیت دستیاب ہے۔ مندرجہ ذیل بحث میں، ہم اسی فعالیت کو حاصل کرنے کے لیے ونڈوز پر دستیاب آپشنز کو تلاش کریں گے اور آپ کو راستے سے متعلق مسائل کو مؤثر طریقے سے منظم کرنے میں مدد کریں گے۔

کمانڈ تفصیل
setlocal ایک بیچ فائل میں ماحولیاتی متغیرات کی لوکلائزیشن شروع ہوتی ہے، اس بات کو یقینی بناتے ہوئے کہ تبدیلیاں عالمی ماحول کو متاثر نہیں کرتی ہیں۔
for %%i in ("%command%") do آئٹمز کے مخصوص سیٹ کے ذریعے اعادہ کرتا ہے، ہر آئٹم پر آپریشن کرنے کی اجازت دیتا ہے۔
if exist "%%j\%%~i.exe" چیک کرتا ہے کہ آیا دیئے گئے راستے پر کوئی مخصوص فائل موجود ہے۔
param PowerShell اسکرپٹ کو بھیجے گئے پیرامیٹرز کی وضاحت اور بازیافت کرتا ہے۔
Join-Path پاتھ میں دو یا زیادہ تاروں کو جوڑتا ہے، پاور شیل میں الگ کرنے والے حروف کو مناسب طریقے سے ہینڈل کرتا ہے۔
Test-Path PowerShell میں ایک مخصوص راستے یا فائل کے وجود کی تصدیق کرتا ہے۔
os.pathsep آپریٹنگ سسٹم کے ذریعہ استعمال کردہ پاتھ سیپریٹر کو بازیافت کرتا ہے، عام طور پر ونڈوز پر سیمی کالون (؛)۔
os.access(exe, os.X_OK) چیک کرتا ہے کہ آیا کوئی فائل ازگر میں قابل عمل ہے۔

ونڈوز کمانڈ لائن اسکرپٹ کو سمجھنا

فراہم کردہ اسکرپٹ میں، ہر ایک کو UNIX کی فعالیت کی نقل کرنے کے لیے ڈیزائن کیا گیا ہے۔ which کمانڈ، جو کمانڈ کا پورا راستہ تلاش کرنے کے لیے استعمال ہوتا ہے۔ پہلی اسکرپٹ ونڈوز کمانڈ پرامپٹ کے لیے بیچ فائل کا استعمال کرتی ہے۔ سے شروع ہوتا ہے۔ setlocal ماحولیاتی متغیر تبدیلیوں کو مقامی بنانا۔ اسکرپٹ پھر کمانڈ کا نام متغیر پر سیٹ کرتا ہے۔ %command% اور چیک کرتا ہے کہ آیا یہ خالی ہے۔ دی for %%i in ("%command%") do لوپ میں درج ڈائریکٹریز کے ذریعے تکرار کرتا ہے۔ PATH ماحولیاتی متغیر. اس لوپ کے اندر، if exist "%%j\%%~i.exe" چیک کرتا ہے کہ آیا قابل عمل فائل لوپ کی موجودہ ڈائرکٹری میں موجود ہے۔ اگر مل جائے تو یہ راستہ نکالتا ہے اور باہر نکل جاتا ہے۔

پاور شیل میں لکھا ہوا دوسرا اسکرپٹ پیرامیٹرز کی وضاحت سے شروع ہوتا ہے۔ param. اسکرپٹ کمانڈ کا نام بازیافت کرتا ہے اور اس کو تقسیم کرتا ہے۔ PATH انفرادی ڈائریکٹریوں میں ماحولیاتی متغیر کا استعمال کرتے ہوئے $env:PATH -split ';'. دی Join-Path کمانڈ ہر ڈائرکٹری کو کمانڈ کے نام کے ساتھ جوڑ کر ممکنہ قابل عمل راستے تشکیل دیتی ہے۔ پھر استعمال کرتا ہے۔ Test-Path ان راستوں کے وجود کی جانچ کرنے کے لیے۔ اگر قابل عمل پایا جاتا ہے، تو یہ راستہ نکالتا ہے اور باہر نکل جاتا ہے۔ تیسرا اسکرپٹ، جو ازگر میں لکھا گیا ہے، ایک فنکشن کی وضاحت کرتا ہے۔ which میں درج ڈائریکٹریوں میں کمانڈ تلاش کرنے کے لیے PATH ماحولیاتی متغیر. یہ استعمال کرتا ہے۔ os.pathsep سسٹم کا راستہ الگ کرنے والا اور حاصل کرنے کے لیے os.access عملدرآمد کے لئے چیک کرنے کے لئے. اس اسکرپٹ کو کمانڈ لائن آرگومنٹ کے ساتھ چلایا جاتا ہے جس میں کمانڈ کا نام بتایا جاتا ہے، اور اگر کمانڈ مل جاتی ہے تو یہ پورا راستہ پرنٹ کرتا ہے۔

ونڈوز میں کمانڈ کے مکمل راستے کا تعین کرنا

ونڈوز کمانڈ پرامپٹ کا استعمال

@echo off
setlocal
set "command=%1"
if "%command%"=="" (
  echo Usage: %~n0 command_name
  exit /b 1
)
for %%i in ("%command%") do (
  for %%j in (".;%PATH:;=;.;%;") do (
    if exist "%%j\%%~i.exe" (
      echo %%j\%%~i.exe
      exit /b 0
    )
  )
)
echo %command% not found
endlocal

پاور شیل میں کمانڈ پاتھز کا پتہ لگانا

پاور شیل اسکرپٹ کا استعمال

param (
  [string]$command
)
if (-not $command) {
  Write-Output "Usage: .\script.ps1 command_name"
  exit 1
}
$path = $env:PATH -split ';'
foreach ($dir in $path) {
  $exe = Join-Path $dir $command.exe
  if (Test-Path $exe) {
    Write-Output $exe
    exit 0
  }
}
Write-Output "$command not found"

Python کے ساتھ کمانڈ لوکیشنز تلاش کرنا

ازگر اسکرپٹ کا استعمال

import os
import sys
def which(command):
    path = os.getenv('PATH')
    for dir in path.split(os.pathsep):
        exe = os.path.join(dir, command)
        if os.path.isfile(exe) and os.access(exe, os.X_OK):
            return exe
    return None
if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Usage: python script.py command_name")
        sys.exit(1)
    command = sys.argv[1]
    path = which(command)
    if path:
        print(path)
    else:
        print(f"{command} not found")

ونڈوز میں ایڈوانس پاتھ مینجمنٹ تکنیک

صرف ایک کمانڈ کا مکمل راستہ تلاش کرنے کے علاوہ، انتظام کرنا PATH تنازعات سے بچنے اور اسکرپٹس کی ہموار عملدرآمد کو یقینی بنانے کے لیے ماحولیاتی متغیر بہت اہم ہے۔ ونڈوز میں، کوئی بھی سسٹم پراپرٹیز انٹرفیس کو ایڈٹ کرنے کے لیے استعمال کر سکتا ہے۔ PATH متغیر، لیکن بار بار تبدیلیوں کے لیے یہ بوجھل ہو سکتا ہے۔ اس کے بجائے، کا استعمال کرتے ہوئے setx کمانڈ پرامپٹ یا پاور شیل میں موجود کمانڈ ان متغیرات کو منظم کرنے کا زیادہ موثر طریقہ فراہم کر سکتی ہے۔ دی setx کمانڈ صارفین کو ماحول کے متغیرات کو مستقل طور پر سیٹ کرنے کی اجازت دیتا ہے، جو اسکرپٹ کے لیے مفید ہے جن کے لیے مخصوص ٹولز یا ایپلیکیشنز کو ترجیح دی جانی چاہیے۔ PATH.

ایک اور مفید ٹول ہے۔ where کمانڈ، جو ایک بلٹ ان ونڈوز یوٹیلیٹی ہے جو UNIX کی طرح برتاؤ کرتی ہے۔ which کمانڈ۔ دی where کمانڈ قابل عمل فائلوں کے راستوں کو تلاش اور ڈسپلے کر سکتی ہے جو تلاش کے معیار سے میل کھاتی ہیں۔ مثال کے طور پر، دوڑنا where python کمانڈ پرامپٹ میں پائیتھون ایگزیکیوٹیبل کے تمام مقامات کی فہرست بنائے گی۔ PATH. یہ تنازعات کی شناخت اور حل کرنے کے لیے خاص طور پر مددگار ثابت ہو سکتا ہے جب کسی ٹول کے متعدد ورژن انسٹال ہوں۔ کے استعمال کو ملا کر setx اور where، صارفین اپنے ماحول کو بہتر طریقے سے منظم کر سکتے ہیں اور اس بات کو یقینی بنا سکتے ہیں کہ کمانڈز کے درست ورژن پر عمل درآمد کیا جائے۔

کمانڈ پاتھ کے مسائل کے بارے میں اکثر پوچھے گئے سوالات

  1. کیا ہے where ونڈوز میں کمانڈ؟
  2. دی where ونڈوز میں کمانڈ تلاش کے معیار سے مماثل قابل عمل فائلوں کے راستوں کا پتہ لگاتا ہے اور دکھاتا ہے۔
  3. میں ترمیم کیسے کروں؟ PATH ماحولیاتی متغیر؟
  4. آپ ترمیم کرسکتے ہیں۔ PATH سسٹم پراپرٹیز انٹرفیس کے ذریعے یا استعمال کرکے متغیر setx کمانڈ پرامپٹ یا پاور شیل میں کمانڈ۔
  5. کیا میں کمانڈ کا راستہ تلاش کرنے کے لیے پاور شیل استعمال کر سکتا ہوں؟
  6. ہاں، پاور شیل کو اسکرپٹ کا استعمال کرتے ہوئے کمانڈ کا راستہ تلاش کرنے کے لیے استعمال کیا جا سکتا ہے جو اس میں درج ڈائریکٹریز کے ذریعے دہراتی ہے۔ PATH ماحولیاتی متغیر.
  7. ان کے درمیان فرق کیا ھے setx اور set کمانڈ پرامپٹ میں؟
  8. دی set کمانڈ صرف موجودہ سیشن کے لئے ماحولیاتی متغیرات کا تعین کرتا ہے، جبکہ setx انہیں سیشنوں میں مستقل طور پر سیٹ کرتا ہے۔
  9. میں کیسے چیک کرسکتا ہوں کہ آیا کوئی فائل ازگر میں قابل عمل ہے؟
  10. آپ چیک کر سکتے ہیں کہ آیا کوئی فائل Python میں قابل عمل ہے۔ os.access(file, os.X_OK).
  11. کیا کرتا ہے os.pathsep Python میں کرتے ہیں؟
  12. دی os.pathsep انتساب آپریٹنگ سسٹم کے ذریعہ استعمال ہونے والا راستہ الگ کرنے والا فراہم کرتا ہے، جو ونڈوز پر سیمی کالون (؛) ہے۔

آخری خیالات:

تنازعات سے بچنے اور درست اسکرپٹ پر عمل درآمد کو یقینی بنانے کے لیے ونڈوز کمانڈ لائن پر کمانڈ پاتھ کا مؤثر طریقے سے انتظام اور ان کا پتہ لگانا بہت ضروری ہے۔ بیچ فائلوں، پاور شیل اسکرپٹس، اور ازگر کو استعمال کرتے ہوئے، صارف UNIX 'کونسا' کمانڈ کی فعالیت کو نقل کر سکتے ہیں۔ مزید برآں، جہاں کمانڈ اور PATH متغیر کا انتظام جیسے ٹولز کا فائدہ اٹھانا اس عمل کو مزید ہموار کر سکتا ہے۔ یہ تکنیک صاف اور موثر ترقیاتی ماحول کو برقرار رکھنے کے لیے مضبوط حل فراہم کرتی ہے، جس سے صارفین کو راستے سے متعلق مسائل کی فوری شناخت اور حل کرنے میں مدد ملتی ہے۔