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秒的代碼