Заповнення вкладки Powershell: Як вирішити, який файл запропонувати?


0

У мене є два файли function.txt і function.ps1.

У командному рядку PS, коли я натискаю вкладку в каталозі, перший вибір, який з'являється, - "functions.txt".

Однак якщо я набираю "del", а потім натискаю на вкладку, перший вибір, який з'являється, - "function.ps1".

Це здається послідовним.

Чи за цим лежить якась логіка, чи це збіг, чи це злі зусилля, які намагаються обдурити мене, щоб видалити неправильний файл?


Я створив папку з іменами ваших файлів, і якщо я натискаю вкладку, вона нічого не робить ... Якщо я набираю, funтоді натискаю на вкладку, я отримую функції.ps1. Якщо я набираю delта натискаю вкладку, я також отримую функції.ps1. Тому я не міг повторити.
Енді Арісменді

Спершу потрібно створити function.txt.
Ендрю Дж. Брем

Відповіді:


0

Якщо ви запускаєте:

gci | sort

У каталозі ви побачите, що він сортує символи, (., $,! І т. Д.) AZ & az, як я найкраще можу сказати,

Shell> .\ **TAB**

у цьому каталозі просто gci | сортувати в тому порядку (ігноруючи символи до кінця).

Я також припускаю, що він сортує найменування файлу спочатку, а потім розширення. Отож, для вашого прикладу, function.ps1 постає перед function.txt. Я бачу таку саму поведінку з del TAB , або просто. \ TAB

Це здається незмінним у наведеному нижче прикладі каталогу файлів:

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---         2/10/2012   2:51 PM          0 foo1
-a---         2/10/2012   2:52 PM          0 foo1.ps1
-a---         2/10/2012   2:52 PM          0 foo1.txt
-a---         2/10/2012   2:51 PM          0 foo2
-a---         2/10/2012   2:51 PM          0 foo2.ps1
-a---         2/10/2012   2:52 PM          0 foo2.txt

Можливо, мені щось не вистачає, але я це знаю. Це не пояснює, чому "function.txt" з'явився першим при натисканні на вкладку відразу після підказки, тоді як "function.ps1" з'явився першим при натисканні на вкладку після введення "del".
Ендрю Дж. Брем

0

Здається, що вкладка дійсно використовує два різні алгоритми, щоб визначити, який файл буде першим, залежно від ситуації.

У цих прикладах файл "ab" створюється перед тим, як файл "aa", а вкладка в "a" (третій рядок) відображає "ab" (файл, створений першим).

PS P:\> echo hello > ab

PS P:\> echo hello > aa

PS P:\> .\ab

Але заповнення вкладки на "a" після "del" робить це:

PS P:\> del .\aa

Однак створення файлів навпаки дає такий результат:

PS P:\> echo hello > aa

PS P:\> echo hello > ab

PS P:\> .\aa

І доповнення вкладки на "a" після "del" також показує "aa":

PS P:\> del .\aa
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.