e.g:如果我跑notepad.exe c:\autoexec.bat
,如何獲得命令行方式在PowerShell中或過程C#
我怎樣才能在PowerShell中得到c:\autoexec.bat
在Get-Process notepad
?
或者我怎樣才能得到c:\autoexec.bat
在Process.GetProcessesByName("notepad");
在C#中?
e.g:如果我跑notepad.exe c:\autoexec.bat
,如何獲得命令行方式在PowerShell中或過程C#
我怎樣才能在PowerShell中得到c:\autoexec.bat
在Get-Process notepad
?
或者我怎樣才能得到c:\autoexec.bat
在Process.GetProcessesByName("notepad");
在C#中?
在PowerShell中,您可以通過WMI獲取進程的命令行:
$process = "notepad.exe"
Get-WmiObject Win32_Process -Filter "name = '$process'" | Select-Object CommandLine
請注意,您需要管理員權限才能夠訪問有關的其他用戶的上下文中運行的進程的信息。作爲普通用戶,只有在您自己的環境中運行的進程才能看到它。
這個答案是優秀的,但是,對於futureproofing和未來做你的忙,除非你使用很老的PowerShell(在這種情況下,我推薦的更新!)GET-WmiObject可以已經被取代GET-CimInstance Hey Scripting Guy reference
試試這個
$process = "notepad.exe"
Get-CimInstance Win32_Process -Filter "name = '$process'" | select CommandLine
也許這將幫助你:如何從一個不同的進程的命令行參數(http://social.msdn.microsoft.com/Forums/en-US/8efe163b -927e-4895-9983-b8c47b515d7c/how-to-get-the-command-line-parameters-from-a-process-in-c) – Corak
其不清楚。你能更清楚地指出你想要做什麼? @victorwoo – Rezoan
請退後一步,描述您嘗試解決的實際問題,而不是您認爲的解決方案。 –