VB.net 写的控制台程序中,需要调用另一个程序做加密。
单独用cmd调用此加密程序的步骤是,首先指向该程序的文件夹,然后cmd命令顺序是:
encrypt.bat <File to be encrypted> <Encrypted file name> <Public Key>
因此VB.net 调用此加密的代码可以写成
Process.Start("cmd.exe", "/c cd" + " /d" + " D:\Program\bin & encrypt.bat" + " D:\FileDrive\Input\test.csv test_Encrypted.csv D:\publicKey.pem")
Threading.Thread.Sleep(20000)
其中需要说明的是
1. /c 是执行完自动关闭cmd,如果不需要自动关闭,可改为 /f
2. D:\Program\bin 之前都是指向加密程序 .bat 所在的文件夹
3. 完成第一步的指向文件夹后,需要继续执行命令,所以用 & 连接接下来的命令
4. 使用+只是为了加参数,如果把参数hard code进去,就可以不加参数
5. 由于加密程序需要几秒钟时间完成,然后才能进行接下来的代码,所以又加了一个等待20秒的代码