Запустите veracrypt из powershell - PullRequest
       56

Запустите veracrypt из powershell

0 голосов
/ 04 сентября 2018

Я пытаюсь запустить следующую команду из сценария powershell.

"C:\Program Files\VeraCrypt\VeraCrypt Format-x86.exe" /create "C:\test veracrypt file.hc" /password alongpasswordisagoodpassword /hash sha512 /encryption serpent /filesystem NTFS /size 100G /dynamic /force /silent

Я пытался использовать

& cmd.exe ""C:\Program Files\VeraCrypt\VeraCrypt Format-x86.exe" /create "C:\test veracrypt file.hc" /password alongpasswordisagoodpassword /hash sha512 /encryption serpent /filesystem NTFS /size 100G /dynamic /force /silent" 

А

$command = @'
     & cmd.exe ""C:\Program Files\VeraCrypt\VeraCrypt Format-x86.exe" /create "C:\test veracrypt file.hc" /password
     alongpasswordisagoodpassword /hash sha512 /encryption serpent /filesystem NTFS /size 100G /dynamic /force /silent"  
          '@
Invoke-Expression -Command:$command

Что бы я ни делал, я получаю ошибку:

cmd.exe: «reate» не распознается как внутренний или внешний Команда

'reate' не является опечаткой, символ c from create фактически удален в сообщении об ошибке. Я пытался избежать создания или вставить в кавычки, но он продолжает выдавать мне ту же ошибку.

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

Я новичок в powershell и подозреваю, что упускаю что-то очевидное. Чего мне не хватает?

1 Ответ

0 голосов
/ 04 сентября 2018

Вы можете просто использовать оператор вызова & для непосредственного запуска команды без использования cmd:

& "C:\Program Files\VeraCrypt\VeraCrypt Format-x86.exe" /create "C:\test veracrypt file.hc" /password alongpasswordisagoodpassword /hash sha512 /encryption serpent /filesystem NTFS /size 100G /dynamic /force /silent

С about_operators

& Позвоните оператору

Запускает команду, сценарий или блок сценария. Оператор вызова, также известный как «оператор вызова», позволяет запускать команды, которые хранятся в переменных и представлены строками. Поскольку оператор вызова не анализирует команду, он не может интерпретировать параметры команды.

...