从powershell运行veracrypt

问题描述 投票:0回答:1

我正在尝试从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'未被识别为内部或外部命令,

'rate'不是拼写错误,来自create的c实际上已在错误消息中删除。我试图逃避创建,或插入引号,但它一直给我同样的错误。

我也尝试将命令放在一个bat文件中并调用它,但这似乎挂起而没有做任何事情,即使运行bat文件按预期工作。

我是powershell的新手,并怀疑我错过了一些明显的东西。我错过了什么?

powershell cmd veracrypt
1个回答
3
投票

您应该只能使用调用运算符&直接运行命令而不使用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

&呼叫运营商

运行命令,脚本或脚本块。调用运算符(也称为“调用运算符”)允许您运行存储在变量中并由字符串表示的命令。由于调用操作符不解析命令,因此无法解释命令参数。

© www.soinside.com 2019 - 2024. All rights reserved.