我正在尝试从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的新手,并怀疑我错过了一些明显的东西。我错过了什么?
您应该只能使用调用运算符&
直接运行命令而不使用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
&
呼叫运营商运行命令,脚本或脚本块。调用运算符(也称为“调用运算符”)允许您运行存储在变量中并由字符串表示的命令。由于调用操作符不解析命令,因此无法解释命令参数。