Как я делаю 'dir/s/b' в PowerShell?

Можно переопределить ClientID и UniqueID как , этот парень сделал .

/// 
/// Override to force simple IDs all around
/// 

public override string UniqueID
{
    get
    {
        return this.ID;
    }
}

/// 
/// Override to force simple IDs all around
/// 

public override string ClientID
{
    get
    {
        return this.ID;
    }
}

35
задан Peter Mortensen 5 December 2014 в 18:58
поделиться

1 ответ

Вы можете использовать

Get-ChildItem -Recurse | Select-Object -ExpandProperty FullName
gci -r | select -exp FullName

или

Get-ChildItem -Recurse | ForEach-Object { $_.FullName }
gci -r | % { $_.FullName }
gci -r | % FullName    # In recent PowerShell versions

(Длинная версия является первой, а сокращенная с использованием псевдонимов и коротких имен параметров - второй, если это не очевидно. В сценариях I Я бы посоветовал всегда использовать длинную версию, так как вероятность того, что где-то возникнут конфликты, гораздо ниже.)

Перечитайте свой вопрос, если все, что вы хотите достичь с помощью dir / s / b , это вывести полную версию пути к файлам в текущем каталоге, тогда вы можете опустить сюда параметр -Recurse .

Мой вам совет: не используйте струны, когда вы можете помочь. Если вы хотите передавать файлы, просто возьмите объект FileInfo , который вы получите из Get-ChildItem . Командлеты знают, что с этим делать. Использование строк для вещей, в которых объекты работают лучше, только порождает странные проблемы.

32
ответ дан 27 November 2019 в 06:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: