Чи є спосіб змінити місце за замовчуванням PowerShell?
Як встановити робочий каталог за замовчуванням PowerShell?
Чи є спосіб змінити місце за замовчуванням PowerShell?
Як встановити робочий каталог за замовчуванням PowerShell?
Відповіді:
Ви можете вказати каталог, який потрібно відкрити при запуску PowerShell:
powershell.exe -NoExit -command "& {Set-Location $env:systemroot}"
Просто використовуйте його у вашому ярлику.
Або скористайтеся профілем, щоб встановити стартовий каталог.
pwsh.exe -WorkingDirectory C:\YourLocation\Goes\Here
Створіть профіль PowerShell наступним чином.
Запустіть PowerShell як адміністратор та виконайте таку команду:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Це дозволить PowerShell запускати локальні сценарії та сценарії, завантажені з Інтернету, які були підписані. Детальніше про цю команду читайте в документації .
У своїй Documents
папці знайдіть папку, названу WindowsPowerShell
для класичної PowerShell або PowerShell
для нової PowerShell Core. Якщо його не існує, це нормально; просто створити його.
profile.ps1
у WindowsPowerShell
папці (або PowerShell
для PowerShell Core).Відкрийте profile.ps1
та додайте таку команду, щоб встановити робочу директорію за замовчуванням:
Set-Location C:\my\default\working\directory
Відкрийте нове вікно PowerShell ... зміни повинні були набути чинності.
powershell -File "myscript.ps1"
powershel -NoProfile -File "myscript.ps1"
Я випробував вищезазначені відповіді в Windows Server 2016 без успіху.
Але я виявив, що такий підхід (він повинен бути таким же для Windows 10) працює для мене.
Готово!
У цьому ж діалоговому вікні " Властивості" ви також можете змінити безліч інших параметрів, таких як шрифти, кольори, розміри та на вкладці " Ярлик" там за допомогою кнопки Advanced. Ви можете вибрати, чи потрібно сеанс PowerShell запускати з правами адміністратора.
Run as administrator
в .lnk
додаткове меню. Рішення , як видається, тут stackoverflow.com/questions/31622469 / ...
Run as aministrator
прапорця назад і назад.
Найпростіший спосіб встановити каталог за замовчуванням:
Клацніть правою кнопкою миші піктограму Windows PowerShell у меню Пуск і знову клацніть правою кнопкою миші Windows PowerShell та виберіть Властивості (не запускати як адміністратор, а не Windows PowerShell ISE )
Введення Set-Location
у ваш профіль безумовно змінить поточну робочу директорію, що може спричинити небажані наслідки щодо робочого каталогу для сценаріїв, які ви виконуєте за допомогою "запуску з PowerShell".
Альтернативним рішенням є зміна робочого каталогу для .lnk
файлів на PowerShell, який зазвичай можна знайти %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell
. Клацніть правою кнопкою миші на посилання та змініть робочий каталог з %HOMEDRIVE%%HOMEPATH%
потрібного каталогу.
Run as administrator
в .lnk
додаткове меню. Рішення , як видається, тут stackoverflow.com/questions/31622469 / ...
-NoProfile
варіант, як powershell -NoProfile -File "myscript.ps1"
Введіть це в PowerShell:
New-Item -path $profile -type file –force
Він створює .ps1 файл у папці PowerShell. Відкрийте його та відредагуйте як:
Set-location C:\files
Зроблено
Перейдіть за цим посиланням. Це чудово працює.
Замість того, щоб беззастережно змінювати робочий каталог, як згадувалося в попередніх відповідях, ви можете написати просту функцію в профілі PowerShell, яку можна використовувати Set-Location
для швидкої зміни робочого каталогу, коли це необхідно.
Перевірте відповідь Джеремі Даньова, щоб створити / змінити профіль PowerShell.
Додайте функції (и) до свого профілю PowerShell:
function goto_this {set-location 'your\path\to\some\dir'}
function goto_that {set-location 'your\path to some\dir with space'}
Просто змініть ім'я функції та каталог, на який вказували. Використання лапок на шляху є обов'язковим, якщо він містить пробіли. Я намагаюся зберегти префікс, goto_
оскільки він допомагає запам'ятовувати назви функцій.
Ви можете почати вводити текст, goto_
а потім натиснути кнопку TAB, щоб перейти через усі додані функції (не забудьте запустити нове вікно PowerShell після додавання / зміни функцій).
З цим, мабуть, є деяка плутанина у "робочому каталозі" та "розташуванні" PowerShell. Більшість людей, які тут роблять, і що хочуть зробити, - це змінити "місце розташування" PowerShell. "Робочий каталог" насправді інший. Ось стаття яка пояснює це.
Для тих, хто не хоче читати статтю: Відкрийте PowerShell і використовуйте те, що говорили інші Set-Location "C:\some\directory"
. Зауважте, що ваш "робочий каталог" все ще знаходиться там, де був відкритий ваш PowerShell. Або, "~"
або "%SYSTEMROOT%\system32"
залежно від того, ви керували адміністратором чи ні. Щоб перевірити робочий каталог, використовуйте [Environment]::CurrentDirectory
.
Примітка: у статті автор говорить, щоб перевірити "робочий каталог" за допомогою цієї команди:
\[Environment\]::CurrentDirectory
Я не впевнений, чи це працює з більш старими версіями PowerShell, але з PowerShell 5 (і пізнішими версіями) вам доведеться користуватися [Environment]::CurrentDirectory
.