2016-12-02 10 views
1

Я использую следующий скрипт, чтобы найти все расширения файлов из заданного пути:Получить только все расширения алфавита файла

Get-ChildItem -Path C:\myshellscript -recurse | 
    Select-Object FullName, Extension | 
    ConvertTo-HTML -head $a | 
    Out-File C:\Script\fileextension.htm 

Выход:

enter image description here

Но я не хотите отображать числовые значения, но только расширения алфавита. Все числовые расширение файла должно быть пустым продление не должно отображаться, числовое расширение следует избегать

ответ

1

если вы хотите скрыть расширение цифровой

$res=0 
gci "C:\myshellscript" -File -Recurse | 
    select FullName , @{N="Extension";E={if (-not [int]::TryParse($_.Extension.Replace(".", ""), [ref]$res)) {$_.Extension} else {""}}} | 
     ConvertTo-HTML -head $a | 
      Out-File C:\Script\fileextension.htm 

если вы хотите расширение фильтра цифровой

$res=0 
gci "C:\myshellscript" -File -Recurse | where { -not [int]::TryParse($_.Extension.Replace(".", ""), [ref]$res)} 
    select FullName , Extension | 
     ConvertTo-HTML -head $a | 
      Out-File C:\Script\fileextension.htm 
+0

Большое вам спасибо .. ты сделал свой день –

3

Я добавил Where-Object командлетов конвейер, который удалит все записи, которые содержат только целое. Тем не менее, я думаю, расширений, как .7zip действительно так, что не будет удалять их:

Get-ChildItem -Path C:\myshellscript -recurse | 
    Where-Object { $_.Extension -match '\D+' } | 
    Select-Object FullName, Extension | 
    ConvertTo-HTML -head $a | 
    Out-File C:\Script\fileextension.htm 
+0

но если мне не нужны 7 расширений zip, то что я должен изменить в скрипте, скажите для этого также спасибо –

+0

любые идеи, которые вы можете предложить для без числового расширения, мне это нужно плохо. –

+1

просто измените соответствие на: '-match '^ \ D + $'' –

 Смежные вопросы

  • Нет связанных вопросов^_^