2017-05-10 69 views
2

我使用mpich2並行運行模擬。我的工作站有相當嚴格的安全性,每次運行模擬時都必須使用新密碼註冊。我必須輸入:在批處理文件中將輸入傳遞給程序提示

mpiexec -register 

然後提示我輸入用戶名,然後提示輸入密碼。不幸的是,似乎沒有辦法在一行上將用戶/傳遞傳遞給mpiexec,例如

mpiexec -register user:pass 

不起作用。

我想準備一個批處理文件,可以自動將用戶名和密碼傳遞給mpiexec提示,但我似乎無法讓它工作。我已經嘗試過各種東西,如timeout /t 5,但這不起作用。

誰能告訴我如何將這些輸入傳遞給批處理文件中的mpiexec程序提示?

謝謝!

編輯:我想我越來越近了。我試過

(
echo username 
echo password 
echo password 
) | mpiexec -register 

它似乎是通過用戶名和密碼輸入到mpiexec提示。然而,程序仍然在下一個步驟 - 不知道這是否是我通過這些方式的問題。

+0

試試這個'((echo user)&(echo pass))| mpiexec -register'。但是這隻會在mpiexec從stdin讀取時才起作用 – jeb

+0

嘿jeb,謝謝!我不確定標準輸入是什麼。我會試試這個,但它與我上面輸入的編輯不同嗎?謝謝! – Thomas

回答

2

您可以重定向或管入mpiexec
重定向對於用戶/密碼條目有點討厭,因爲在行結束處通常有不需要的(和不可見的)空間。

(
echo user 
echo pwd 
) | more > fetch.txt 

創建於fetch.txt

用戶<space>
PWD <space>

當你想抑制空間使用一個文件重定向,而不是

(
echo user 
echo pwd 
) > file.tmp 
< file.tmp mpiexec -register 

在這兩種情況下(重定向或管道),您需要爲程序提供所有輸入,而不僅僅是用戶名和密碼。
您無法再輸入鍵盤輸入。

相關問題