AzCopy Неизвестная / исходная команда - PullRequest
0 голосов
/ 24 мая 2019

У меня есть следующий скрипт:

$azPath = "C:\temp"
Set-Location $azPath

$StorageAccountName = "#"
$StorageAccountKey = "#"
$ContainerName = "sqlbackups"

$SourceFolder = "C:\temp"

$DestURL = "https://$StorageAccountName.blob.core.windows.net/$ContainerName"
$Result = .\AzCopy.exe /source:$SourceFolder /dest:$DestURL /BlobType:block /destkey:$StorageAccountKey /Y
$Result

и я получаю следующую ошибку:

PS C:\temp> .\load-backups2.ps1
Error: unknown command "/source:C:\\temp" for "azcopy"
Run 'azcopy --help' for usage.

unknown command "/source:C:\\temp" for "azcopy"

Мне интересно, может ли кто-нибудь увидеть, что я здесь делаю неправильно>

Ответы [ 2 ]

1 голос
/ 24 мая 2019

Я могу воспроизвести вашу проблему, я полагаю, ваша azcopy.exe находится в папке C:\temp. Чтобы решить эту проблему, просто удалите .\ в $Result = .\AzCopy.exe /source:$SourceFolder /dest:$DestURL /BlobType:block /destkey:$StorageAccountKey /Y.

Это должно быть $Result = AzCopy.exe /source:$SourceFolder /dest:$DestURL /BlobType:block /destkey:$StorageAccountKey /Y, но также будет загружено azcopy.exe, поэтому я рекомендую вам переместить azcopy.exe в другую папку, например C:\test.

Тогда скрипт будет таким, как показано ниже, он отлично работает на моей стороне.

$azPath = "C:\test"
Set-Location $azPath

$StorageAccountName = "#"
$StorageAccountKey = "#"
$ContainerName = "sqlbackups"

$SourceFolder = "C:\temp"

$DestURL = "https://$StorageAccountName.blob.core.windows.net/$ContainerName"
$Result = AzCopy.exe /source:$SourceFolder /dest:$DestURL /BlobType:block /destkey:$StorageAccountKey /Y

enter image description here

Обновление:

В моем предыдущем ответе я непосредственно использую AzCopy.exe, но на самом деле я установил AzCopy v8.1 на свой ПК и установил для него переменную системной среды. Таким образом, результат для v8.1. Я полагаю, что вы используете AzCopy v10, если я использую AzCopy v10, я могу воспроизвести вашу проблему, возможно, вам придется попробовать AzCopy v8.1, это работает. Вы можете выполнить следующие шаги.

1.Загрузите AzCopy v8.1, установите его, путь по умолчанию будет C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy\, я использую путь по умолчанию.

2. Установите системную переменную среды Path с помощью C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy\, сохраните ее. Подробности см. ссылка .

enter image description here

3. После открытия нового сеанса powershell попробуйте команду. Нет необходимости Set-Location, потому что мы установили переменную окружения.

$StorageAccountName = "#"
$StorageAccountKey = "#"
$ContainerName = "sqlbackups"

$SourceFolder = "C:\temp"

$DestURL = "https://$StorageAccountName.blob.core.windows.net/$ContainerName"
$Result = AzCopy.exe /source:$SourceFolder /dest:$DestURL /BlobType:block /destkey:$StorageAccountKey /Y
0 голосов
/ 24 мая 2019
$azPath = "C:\temp"
Set-Location $azPath




Try This:


$StorageAccountName = "#"
$StorageAccountKey = "#"
$ContainerName = "sqlbackups"

$SourceFolder = "C:\temp"

$DestURL = "https://$StorageAccountName.blob.core.windows.net/$ContainerName"
$Result = .\AzCopy.exe copy "$SourceFolder" "$DestURL" --BlobType:blockblob --destkey:$StorageAccountKey /Y
$Result
...