我必須在集羣上執行命令來殺死一組進程。批量啓動winrs重定向輸出
start /wait winrs -r:NODENAME -u:USERNAME -p:PASSWORD taskkill /FI \"USERNAME eq USER" /f
我無法重定向輸出。我發現在這個網站類似的問題,但這裏的解決方案:
不起作用。我重定向winrs命令,但我需要taskkill的重定向。 有什麼想法? 謝謝。
我必須在集羣上執行命令來殺死一組進程。批量啓動winrs重定向輸出
start /wait winrs -r:NODENAME -u:USERNAME -p:PASSWORD taskkill /FI \"USERNAME eq USER" /f
我無法重定向輸出。我發現在這個網站類似的問題,但這裏的解決方案:
不起作用。我重定向winrs命令,但我需要taskkill的重定向。 有什麼想法? 謝謝。
這完全沒有經過測試,我對於winrs一無所知。但我相信這只是一個逃避重定向適當次數的問題。假設n是逃逸次數,則所需的插入符號數爲2到第n次方,減1((2^n)-1)。
如果你想輸出重定向到遠程機器上的文件,然後重定向必須被延遲,直到WINRS啓動遠程過程,所以兩次,一次用於啓動,另一次WINRS
start /wait winrs -r:NODENAME -u:USERNAME -p:PASSWORD taskkill /FI \"USERNAME eq USER" /f ^^^>output.txt
我能想到的唯一的其他變體是顯式啓動cmd.exe進程來處理重定向,再次使用轉義重定向。在這種情況下,我認爲你需要三個逃逸:
start /wait winrs -r:NODENAME -u:USERNAME -p:PASSWORD cmd /c taskkill /FI \"USERNAME eq USER" /f ^^^^^^^>output.txt
如果你想重定向到一個文件在本地機器上的輸出,那麼你需要重定向WINRS的輸出(假設WINRS顯示遠程執行的輸出處理)。所以只需要一次逃生。
start /wait winrs -r:NODENAME -u:USERNAME -p:PASSWORD taskkill /FI \"USERNAME eq USER" /f ^>output.txt
我很驚訝你需要通過START啓動WINRS。我本以爲你可以直接執行命令,因爲你打算等待它完成。如果直接啓動,並且希望將輸出收集到本地文件中,那麼我認爲您不需要任何轉義。
winrs -r:NODENAME -u:USERNAME -p:PASSWORD taskkill /FI \"USERNAME eq USER" /f >output.txt
我很感激評論,如果有的話,如果有的話,我的建議工作。
編輯 - 主要重寫的答案 – dbenham
我仍然試圖讓它工作。 – user3419104
我確認只有一個轉義解決方案^把日誌放在遠程機器上,我試圖恢復文件。你認爲在控制檯輸出上有重定向的方法嗎?非常感謝 – user3419104