פוורשל שינוי ספריה: ניווט במערכת הקבצים שלך

ב-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

האם קיבלת את אותה השגיאה כמו שמתואר למטה? השגיאה הזו מופיעה מכיוון שאי אפשר להחליף בין תת תיקיות (לדוגמה, D:\Kitty) בפעם אחת בשיטה זו.

קפוץ לסעיף הבא כדי לראות איך לעבור לתת תיקיות.

Attempting to switch to subdirectories

ניווט במערכת הקבצים באמצעות הפקודה cd

ניווט בתת תיקיות מרובות הוא משימה נפוצה בפוורשל. אך האם קיים דרך מהירה לנווט בין תת תיקיות שונות? כן! הפקודה cd, שנקראת "שינוי תיקייה", מאפשרת לך להחליף מהר לתת תיקייה אחרת ללא תלות בתיקיית הנוכחית שלך.

בעבר, הפקודה cd נמצאה בשימוש לניווט בין כוננים ותיקיות במסוף הפקודות. מיקרוסופט הפכה את הפקודה cd לתואמת לאחור כך שתוכל עדיין לנווט בין תיקיות בפוורשל.

תמשיך ותראה כיצד לנווט במערכת הקבצים שלך עם הפקודה 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

ניווט במערכת הקבצים עם Cmdlets של PowerShell

אף שהפקודה cd בהחלט עובדת ב־PowerShell, מיקרוסופט הציעה מספר cmdlets, כמו Set-Location, שמאפשרים לך לנווט דרך מערכת הקבצים שלך.

Cmdlets אלו מספקים יכולת עמידה יותר מפקודת cd שאתה יכול להשתמש בהם כדי להחליף בין כוננים, לנווט במיקומים מוצבים, ולנסות בין תיקיות בהיסטוריית המיקום.

הישאר מחובר וצפה כמה cmdlets עוצמתיים הם בניווט במערכת הקבצים שלך ב־PowerShell.

הגדרת מיקום מכונה שונה

כמו בפקודת cd, ה־Set-Location cmdlet מאפשר לך לעבור מתיקייה אחת לאחרת ולנווט ישירות אל אחת מהתיקיות שלה. אך מכיוון שאתה משתמש ב־PowerShell cmdlet, עליך להוסיף את הפרמטר -Path כדי לקבוע את נתיב היעד שלך.

ה־Set-Location cmdlet מגדיר את תיקיית העבודה הנוכחית למיקום מסוים. המיקום המסוים הזה יכול להיות אחד מהבאים:

  • A directory, or subdirectory on the local file system.
  • כל מיקום אחר שנתמך על ידי ספק ב־PowerShell.
  • או מיקום ברשות הרשומות.

כדי לראות כיצד ה־Set-Location cmdlet עובד בניווט במערכת הקבצים שלך:

הריץ את הפקודה למעלה כדי לנווט אל תיקיית Kitty בדיסק D: המצויין בפרמטר -Path.

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

אם אתה מרגיש קצת עצלן להקליד את ה־Set-Location cmdlet המלא, תוכל גם להשתמש באחד מכינוייו (aliases), כמו chdir ו־sl, כדי לנווט במערכת הקבצים שלך. הכינויים מספקים דרך יותר נוחה לגישה אל פקודות בשימוש תדיר.

עכשיו, הריץ את הפקודה למטה כדי להגדיר את מיקום העבודה למיקום רשומות מסוים. במקרה זה, הנתיב HKLM:\ (קיצור) מתייחס למערכת הרישומים של Windows שלך.HKEY_LOCAL_MACHINE

הפקודה הזו מגדירה את מיקום העבודה לשורש של צינור ה-HKEY_LOCAL_MACHINE ברישום. הניווט לרישום מאפשר לך לגשת ולשנות את תתי המפתחות והערכים שלו באמצעות פקודות PowerShell אחרות.

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

עבור בין מיקומים מוצבים אחד מעל השני (להקיש ולקפוץ)

הגישה מהירה למיקומים מוצבים נשמעת נוחה. אבל האם זה אפשרי? כן! פקודות ה-Push-Location ו-Pop-Location מאפשרות לך לדחוף ולהוציא מיקומים בסדר מחסני מחסור (LIFO) מערימה שמקובל לקרוא לה "ערימה שם".

כדי לנווט בין מיקומים מוצבים, עקוב אחרי השלבים האלה:

1. הרץ את הפקודה הבאה לדחוף את המיקום הנוכחי שלך לערימה הנקראת 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.

אבל שימו לב שהשיטה הזו עובדת רק למהלך הפוורשל הנוכחי אלא אם תשמורו על המשתנה, כפי שמודגש בשלב הבא.

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

ניווט דרך תיקיות בהיסטוריית המיקום של פוורשל

דרך נוספת לנווט בין תיקיות בפוורשל היא באמצעות היסטוריית המיקום. הפרמטר -Path אומר לפקודת Set-Location לנווט אל תיקייה אחרת מההיסטוריה של המיקום (קודמת או עוקבת), תלוי בערך המסומן (- או +).

לנווט בין תיקיות בהיסטוריית המיקום של פוורשל:

הרץ את סט הפקודות הבא כדי להגדיר מיקומים מההיסטוריה כתיקייה נוכחית. התו + מקדם אותך קדימה בהיסטוריית המיקום, בעוד התו - מקדימך אחורה.

# מגדיר את תיקיית שורש המערכת כתיקייה נוכחית
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/