Скачать все файлы или с фильтром с удаленного URL-адреса с помощью powershell - PullRequest
0 голосов
/ 21 апреля 2020

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

$url = 'https://example.com/files'
$destPath = 'C:\myfiles'
$l = (Invoke-WebRequest –Uri $url).Links | ? href -like *exe
$l | select -Unique href | % { 
#get file name
$basename = $l | ? href -eq $_.href  | select -ExpandProperty innerHtml 
        "downloading file... $basename"
        Invoke-WebRequest -Uri $url/$basename  -OutFile $destPath\$basename
}

Это прекрасно работает для загрузки файлов с расширением exe, но я действительно хочу, чтобы загрузить все файлы независимо от имени файла или расширения. Я включил просмотр каталогов для этого, но я не могу понять, как загрузить все файлы. Даже с -like я не могу указать только подстановочный знак. Кажется, только для расширений и по одному за раз.

Можно ли просто загрузить любые файлы в этой папке? Одним из них является web.config, поэтому было бы неплохо иметь возможность указать фильтр -notlike или -notmatch, чтобы некоторые файлы не загружались.

1 Ответ

0 голосов
/ 22 апреля 2020

Устранена проблема с загрузкой некоторых файлов, сохранив мой исходный код и просто добавив приведенный ниже код в файл web.config моего сайта в IIS:

<configuration>
    <system.webServer>
        <directoryBrowse enabled="true" />
        <staticContent>
            <mimeMap fileExtension="*" mimeType="text/plain" /><!-- or application/octet-stream -->
        </staticContent>
    </system.webServer>
</configuration>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...