Назад | Перейти на главную страницу

Powershell unrar с подстановочным знаком

Я пытаюсь извлечь около 40 папок, каждая из которых содержит rar, но я никогда не делал в ней powershell. В bash вы можете использовать */*.rar чтобы извлечь их с помощью подстановочного знака, но как мне это сделать в PowerShell? Я пробовал кое-что вместе

C:\Program Files (x86)\Unrar\UnRAR.exe' x  .\*\*.rar 

Но это ошибки:

UNRAR 4.10 freeware      Copyright (c) 1993-2012 Alexander Roshal

Cannot read contents of .\*\*.rar
The filename, directory name, or volume label syntax is incorrect.

Я использую это:

$parent = 'c:\myrar_files'

$files = @()

Get-ChildItem $parent -Recurse -Filter "*.rar" | % {

    # Recurse through all subfolders looking for .rar files only.

    $files = $files + $_.FullName
}

foreach ($f in $files) {

    # UnRAR the files. -y responds Yes to any queries UnRAR may have.

   C:\scripts\WinRAR\unrar x -y $f
}

Сначала проверьте это, потому что мне не на чем проверять:

get-childitem -recurse -filter *.rar | %{"C:\Program Files (x86)\Unrar\UnRAR.exe" x $_.fullpath}

Я не на 100% уверен, что x приведет к его извлечению в текущий каталог или в каталог файла rar, поэтому вам, возможно, придется добавить компакт-диск к командам.

get-childitem -recurse -filter *.rar | %{cd $_.directory; "C:\Program Files (x86)\Unrar\UnRAR.exe" x $_.name}