تغيير مسار PowerShell: التنقل في نظام الملفات الخاص بك

في نظام التشغيل Windows، تغيير الدلائل هو جزء أساسي من إدارة الملفات، ولكن هل تستسلم لكتابة المسارات الكاملة لكل دليل تزوره؟ لحسن الحظ، يمكن أن تجعل أوامر تغيير الدليل في PowerShell حياتك أسهل.

في هذا البرنامج التعليمي، ستتعرف على الأوامر المتاحة لتغيير الدلائل في PowerShell، مما يساعدك في التنقل في نظام الملفات الخاص بك بسهولة.

استمر في القراءة واتقن أساسيات تصفح نظام الملفات باستخدام PowerShell اليوم!

الشروط المسبقة

سيكون هذا البرنامج التعليمي عرضًا تفاعليًا. لمتابعة، تأكد من أن لديك نظام Windows مع PowerShell مثبت. يستخدم هذا البرنامج التعليمي Windows 10 و PowerShell v7.

الانتقال من محرك أقراص واحد إلى آخر

يتم تخصيص حرف محرك لكل جهاز تخزين، مثل القرص الصلب أو محرك USB (أي C:، D:، E:، …Z:). عند فتح نافذة PowerShell، يكون الموجه في دليل ملف المستخدم الخاص بك على القرص الحالي بشكل افتراضي.

فلنفترض أنك بحاجة إلى الوصول المتكرر إلى ملفات أو مجلدات مخزنة على قرص مختلف عن القرص الحالي. إذا كان الأمر كذلك، فإن التبديل من قرص واحد إلى آخر ضروري.

لرؤية كيفية التبديل من قرص واحد إلى آخر:

1. افتح PowerShell وتأكد مما إذا كانت الرسالة تقول C:\Users\admin. إذا كان الأمر كذلك، فأنت حاليًا على محرك C: في دليل ملف تعريف المستخدم admin، كما هو موضح أدناه.

Viewing the default working drive

2. بعد ذلك، افتح جلسة PowerShell أخرى، ولكن هذه المرة كمسؤول.

فيما يلي، يبدأ الأمر في دليل افتراضي مختلف عن تشغيل PowerShell كمستخدم عادي. تحديداً، يبدأ الأمر في دليل System32 داخل دليل Windows على المحرك الحالي (C:، كما هو موضح أدناه.

تمنع هذه السلوكية الافتراضية المستخدمين غير المسؤولين عن التعديل العرضي لملفات النظام الحيوية أو تشغيل أدوات حساسة.

Viewing the default working drive as an admin

3. قم بتشغيل الأمر أدناه لتغيير المحرك الحالي إلى D: (أو أي محرك آخر متاح). يعد هذا النحو وسيلة سريعة للتنقل بين محركات PowerShell المختلفة.

D:

عند التبديل بين المحركات في PowerShell بهذه الطريقة، يتغير البرمت إلى الدليل الجذر للمحرك الجديد، كما هو موضح في الإخراج أدناه.

كما يمكنك أن ترى، بغض النظر عن الدليل الافتراضي الذي يبدأ فيه PowerShell، يمكنك دائمًا التبديل إلى محرك آخر.

Switching to another drive

4. الآن، قم بتشغيل الأمر أدناه لمحاولة التبديل إلى دليل D:\Kitty (أو إلى أي دليل فرعي آخر).

D:\Kitty

Translated text to Arabic:

هل واجهت نفس الخطأ كما هو مبين أدناه؟ يظهر هذا الخطأ لأنه لا يمكنك التبديل إلى الأدلة الفرعية (على سبيل المثال، D:\Kitty) في خطوة واحدة بهذه الطريقة.

انتقل إلى القسم التالي لرؤية كيفية التبديل إلى الأدلة الفرعية.

Attempting to switch to subdirectories

تصفح نظام الملفات عبر أمر cd

التنقل في العديد من الأدلة الفرعية مهمة شائعة في PowerShell. ولكن هل هناك وسيلة سريعة للتنقل في الأدلة الفرعية المختلفة؟ نعم! يتيح لك أمر cd، الذي يختصر “تغيير الدليل”، التبديل بسرعة إلى دليل فرعي آخر بغض النظر عن الدليل الحالي الذي تتواجد فيه.

في الأيام السابقة، كان يتم استخدام أمر cd للتنقل بين محركات الأقراص والدلائل في نافذة الأوامر. قامت مايكروسوفت بجعل أمر cd متوافقًا مع الإصدارات السابقة لذا يمكنك لا تزال التنقل بين الدلائل في PowerShell.

تابع القراءة وانظر كيف يمكنك التنقل في نظام الملفات الخاص بك باستخدام أمر cd.

الانتقال إلى دليل في محرك أقراص مختلف

قد يبدو الانتقال إلى دليل فرعي في محرك أقراص مختلف وكأنه أمر مزعج إذا فكرت فيه. حسنًا، ليس هناك حاجة للتفكير الزائد. ستفاجأ بمدى سرعة أمر cd الذي يتيح لك الانتقال إلى محرك آخر أثناء التحرك إلى أحد دلائله.

قم بتشغيل الأمر أدناه للانتقال إلى دليل فرعي يُسمى Kitty في محرك الأقراص D:*.

cd D:\Kitty
Navigating a subdirectory in another drive

الانتقال من مستوى واحد إلى العديد من المستويات في التسلسل الهرمي للدلائل

مع إدارة نظام الملفات، أو عند العمل على مشروع، قد تحتاج في كثير من الأحيان إلى الانتقال لأعلى مستوى أو مستويين من الدليل الحالي. تدعم أمر cd ترميز .. الذي يسمح لك بالتبديل بفعالية إلى الدليل الرئيسي للدليل الحالي.

تتيح لك هذه الميزة التحرك لأعلى مستوى في نظام ملفاتك دون الحاجة إلى تحديد المسار الكامل إلى الدليل الرئيسي.

1. قم بتشغيل الأمر cd أدناه، وألصق مسافة وترميز .. ، الذي يخبر PowerShell بالانتقال لمستوى واحد في تسلسل الدليل.

لا يلزم وجود مسافة بعد أمر cd ، حيث سيعمل الأمر بشكل صحيح دونها. ولكن إضافة المسافة هي ممارسة شائعة لتحسين قابلية القراءة والاتساق مع أوامر أخرى.

cd ..

في الإخراج أدناه، يمكنك رؤية أن البرمبت يتحرك لأعلى مستوى من C:\Users\admin\Documents إلى الدليل C:\Users\admin. تذكر أنه لم يكن عليك تحديد المسار الكامل للدليل C:\Users\admin للانتقال لأعلى.

Moving up one level in the directory hierarchy

2. بدلاً من التحرك لمستوى واحد، قم بتشغيل الأمر التالي بترميزين ..، ملحقًا شرطة مائلة (\) في نهاية كل منهما. يتيح لك ذلك التحرك لمستويين في تسلسل الدليل.

cd ..\..\

فيما يلي، يظهر الإخراج أنك قفزت من C:\Users\admin\Documents مباشرة إلى الدليل C:\Users.

Moving up two levels from the current directory

3. في الختام، قم بتشغيل الأمر أدناه للانتقال إلى الدليل الرئيسي لمحركك الحالي.

إذا كنت قد ضللت في نظام الملفات الخاص بك، فإن هذا الأمر يأتي بمساعدة حيث يمكنك الانتقال بسرعة إلى الدليل الرئيسي. يوفر هذا الأمر لك عناء تشغيل الأمر cd .. عدة مرات.

cd \
Moving up to the root directory

الانتقال إلى دليل فرعي محدد

مثل الانتقال إلى مستوى أعلى في هرم الدلائل، يعتبر الانتقال إلى دليل فرعي محدد أيضًا مهمة سريعة. نظرًا لوجود العديد من الدلائل الفرعية، فإن إضافة تعليقات مثل المثل السابق (..، و ..\) لن يعمل، يجب عليك تحديد اسم الدليل الفرعي.

قم بتشغيل الأمر أدناه للانتقال إلى أحد الدلائل الفرعية (\admin) في الدليل الحالي (.).

cd .\admin

لاحظ أنك وفرت الوقت والجهد حيث لم تكن مضطرًا لتحديد المسار الكامل للدليل C:\Users\admin.

Moving into one of the subdirectories

التنقل في نظام الملفات باستخدام أوامر PowerShell

على الرغم من أن أمر cd يعمل بلا شك في PowerShell، إلا أن مايكروسوفت قد قدمت العديد من الأوامر، مثل Set-Location، التي تتيح لك التنقل في نظام الملفات الخاص بك.

توفر هذه الأوامر وظائف أكثر قوة من أمر cd يمكنك استخدامها للتبديل بين الأقراص، والتنقل بين المواقع المكدسة، والتنقل في سجل المواقع السابقة.

ابق على اطلاع واكتشف مدى قوة أوامر PowerShell في التنقل في نظام الملفات الخاص بك.

تعيين موقع من محرك أقراص مختلف.

مثل أمر cd، تسمح لك Set-Location cmdlet بالانتقال من دليل إلى آخر والتنقل مباشرةً إلى أحد دليله. ولكن نظرًا لاستخدامك لأمر PowerShell cmdlet، يجب أن تضيف -Path parameter لتحديد مسار الموقع المستهدف.

يقوم cmdlet Set-Location بتعيين دليل العمل الحالي إلى موقع محدد. يمكن أن يكون الموقع المحدد أحد الأماكن التالية:

  • A directory, or subdirectory on the local file system.
  • أي موقع آخر يتم دعمه بواسطة مزود في PowerShell.
  • أو موقع في التسجيل.

لرؤية كيف يعمل cmdlet Set-Location في تنقل نظام الملفات الخاص بك:

قم بتشغيل الأمر أدناه للانتقال إلى دليل Kitty في محرك الأقراص D: المحدد في معلمة -Path.

Set-Location -Path "D:\Kitty"
Navigating to a directory in another drive

إذا شعرت بالكسل قليلاً عند كتابة الأمر الكامل Set-Location، يمكنك أيضًا استخدام واحدة من الاختصارات الخاصة به، مثل chdir و sl، لتنقل في نظام ملفاتك. توفر الاختصارات وسيلة أكثر راحة للوصول إلى الأوامر المستخدمة بشكل متكرر.

الآن، قم بتشغيل الأمر أدناه لتعيين موقع العمل إلى موقع محدد في التسجيل. في هذه الحالة، يشير المسار HKLM:\ (اختصار) إلى فرع HKEY_LOCAL_MACHINE في سجل Windows الخاص بك.

هذا الأمر يضبط موقع العمل على جذر المفتاح HKEY_LOCAL_MACHINE في التسجيل. التنقل إلى التسجيل يتيح لك الوصول إلى وتعديل مفاتيحه الفرعية وقيمه عبر أوامر PowerShell الأخرى.

Set-Location -Path "HKLM:\”
Setting the working location to a specific registry location

التبديل بين المواقع المكدسة (الدفع والسحب)

الوصول السريع إلى المواقع المكدسة يبدو مريحاً. ولكن هل من الممكن؟ نعم! يتيح لك أوامر Push-Location و Pop-Location تكديس المواقع وإزالتها بترتيب الدخول الأخير أولاً (LIFO) من مكدس مسمى.

للتنقل بين المواقع المكدسة، اتبع هذه الخطوات:

1. قم بتشغيل الأمر التالي Push-Location لدفع الموقع الحالي إلى مكدس يسمى Paths وتعيين المجلد C:\Program Files\PowerShell\ كمجلد حالي.

Push-Location -Path 'C:\Program Files\PowerShell\' -StackName "Paths"
Pushing the current location to a stack called Paths

2. بعد ذلك، قم بتشغيل الأمر التالي لدفع الموقع الحالي (C:\Program Files\PowerShell\) إلى الجزء العلوي من نفس مكدس Paths.

Push-Location -Path 'C:\Program Files\WindowsPowerShell\' -StackName "Paths"

3. قم بتشغيل كل أمر أدناه لتعيين Paths كمكدس افتراضي وعرض (Get-Location) المواقع المكدسة.

# يضبط مكدس Paths كافتراضي
Set-Location -StackName "Paths"
# عرض جميع المسارات المكدسة في المكدس الافتراضي
Get-Location -Stack

أدناه، يمكنك رؤية أن لديك حاليًا موقعين مكدسين، حيث يكون آخر موقع قمت بدفعه هو في الأعلى.

Viewing stacked locations in the Paths stack

4. الآن، قم بتشغيل أمر Pop-Location مرتين لإخراج أعلى موقع مكدس من المكدس الافتراضي، والذي يكون حاليًا مكدس المسارات.

Pop-Location
Changing the current directory by popping stacked locations

يرجى ملاحظة أن إخراج الموقع من المكدس يزيله من المكدس. يشير الخطأ أدناه إلى أنك قمت بإخراج جميع المواقع المكدسة من المكدس الافتراضي.

Attempting to view an empty stack

الانتقال إلى دليل مخزن في متغير

لقد مررت بطرق مختلفة للتنقل في الدلائل في نظام ملفاتك. ولكن ماذا لو كنت بحاجة إلى التنقل إلى موقع محدد بشكل متكرر؟ قد يكون كتابة المسارات الكاملة عدة مرات أو التنقل عبر تاريخ الموقع أمرًا مملًا. لماذا لا تقوم بتخزين المسار الكامل للدليل في متغير بدلاً من ذلك؟

باستخدام متغير معلن، يمكنك التنقل إلى الدليل المستهدف دون تحديد المسار من رأسك.

1. قم بتشغيل الأوامر أدناه لتخزين مسار الدليل C:\Program Files\PowerShell\ في المتغير $psh، وتعيين تلك الموقع ($psh) كالدليل الحالي.

# قم بتخزين مسار الدليل في متغير
$psh = 'C:\Program Files\PowerShell\'
# قم بتعيين الدليل من متغير $psh كالدليل الحالي
Set-Location -Path $psh

الإخراج أدناه يؤكد تغيير الدليل بنجاح باستخدام متغير. بغض النظر عن الدليل الحالي، يمكنك التنقل بسرعة إلى الدليل C:\Program Files\PowerShell\ عبر متغير $psh.

ولكن لاحظ أن هذا الأسلوب يعمل فقط لجلسة PowerShell الحالية ما لم تحتفظ بالمتغير، كما هو موضح في الخطوة التالية.

Navigating to a location stored in a variable

2. بعد ذلك، قم بتشغيل الأوامر التالية، التي لا تقدم إخراجًا ولكنها تحتفظ بالمتغير ev_psh كمتغير بيئي (SetEnvironmentVariable) بقيمة مسار الدليل الكامل.

# إضافة psh كمتغير بيئي
[System.Environment]::SetEnvironmentVariable('ev_psh', 'C:\Program Files\PowerShell\', 'Machine')
# إعادة تحميل المتغير البيئي الذي تمت إضافته حديثًا (ev_psh)
$Env:ev_psh = [System.Environment]::GetEnvironmentVariable("ev_psh","Machine")

3. أخيرًا، قم بتشغيل الأمر أدناه لتعيين قيمة متغير البيئة ev_psh كالدليل الحالي. تأكد من أنك في دليل مختلف عن الذي في متغير ev_psh الخاص بك.

Set-Location -Path $env:ev_psh
Setting the value of an environment variable as the current directory

Cycling Through Directories in PowerShell’s Location History

Another quick way to cycle through directories in PowerShell is using the location history. الباراميتر -Path يخبر cmdlet Set-Location بالتنقل إلى دليل آخر من تاريخ الموقع (السابق والتالي)، اعتمادًا على القيمة المحددة (- أو +).

لتنقل في تاريخ مواقع PowerShell:

قم بتشغيل مجموعة الأوامر التالية لتعيين مواقع من تاريخ التصفح كالمجلد الحالي. يقوم الرمز + بنقلك إلى الأمام في تاريخ المواقع، بينما يقوم الرمز - بنقلك إلى الخلف.

# يعيّن مجلد الجذر النظام كمجلد حالي 
Set-Location -Path $env:SystemRoot

# يعود إلى المجلد السابق في تاريخ المواقع (مزود الشهادات)
Set-Location -Path -

# يعود إلى المجلد السابق في تاريخ المواقع مرة أخرى (مجلد الجذر النظام)
Set-Location -Path -

# يتقدم إلى المجلد العامل التالي في تاريخ المواقع (مزود الشهادات)
Set-Location -Path +

# يتقدم إلى المجلد العامل التالي في تاريخ المواقع (مفتاح التسجيل HKEY_LOCAL_MACHINE)
Set-Location -Path +
Cycling through locations in the location history

الختام

قد يكون تصفح نظام الملفات أمرًا صعبًا عندما تكون الخيارات محدودة. ولكن مع أوامر تغيير مجلد PowerShell، مثل Set-Location، لديك العديد من الخيارات. كيفية تصفح نظام الملفات الخاص بك بكفاءة أكبر تمامًا متروك لك.

بالإضافة إلى ذلك، فإن إتقان استخدام Push-Location و Pop-Location لحفظ واسترجاع المواقع الأخيرة هو مهارة قيمة.

هذه التقنيات تسمح لك بالتنقل بسرعة وبسلاسة من خلال الدلائل والمواقع في PowerShell. ولكن لتحسين الأداء بشكل أكبر، لماذا لا تفكر في تعلم الأوامر الإضافية، مثل Get-ChildItem، والتي يمكن أن توفر لك الكثير من الوقت في مهامك اليومية؟

Source:
https://adamtheautomator.com/powershell-change-directory/