下图显示了frmweb.exe
进程在GUI中的显示(附image/png
)
其中命令行参数可见。
当尝试通过命令行捕获相同内容时,它会抛出空值。 以下步骤粘贴为文本。需要帮助,谢谢
wmic path win32_process get name, commandline /format:"%WINDI%\System32\wbem\csv" | find "frmweb.exe" > commandline.txt
notepad commandline.txt
vbox_host,,frmweb.exe
vbox_host
vbox_host,,frmweb.exe
vbox_host
vbox_host,,frmweb.exe
vbox_host
vbox_host,,frmweb.exe
vbox_host
vbox_host,,frmweb.exe
vbox_host
vbox_host,,frmweb.exe
vbox_host
vbox_host,,frmweb.exe
vbox_host
vbox_host,,frmweb.exe
vbox_host
vbox_host,,frmweb.exe
vbox_host
vbox_host,find "frmweb.exe" ,find.exe
最佳答案
只是为了确保您确实尝试使用了正确的命令,这就是我可能使用 WMIC
执行任务的方式:
WMIC Process Where "Name='frmweb.exe'" Get CommandLine,Name /Format:"C:\Windows\System32\wbem\en-US\csv.xsl">"CommandLines.csv"
因为您已将 csv.xsl
文件复制到 C:\Windows\System32\wbem
:
WMIC Process Where "Name='frmweb.exe'" Get CommandLine,Name /Format:csv >commandline.txt
如果您特别希望排除 header ,则:
WMIC Process Where "Name='frmweb.exe'" Get CommandLine,Name /Format:csv|Find ".">commandline.txt
我感觉是您的 CommandLine 中的逗号导致了问题。
如果您改变将结果转换为输出的方式,这可能会有所帮助,所以这里有一个建议。
在文本编辑器中打开您复制到 %SystemRoot%\System32\wbem
的 csv.xsl
并更改行:
<xsl:template match="VALUE" xml:space="preserve"><xsl:value-of select="."/></xsl:template>
收件人:
<xsl:template match="VALUE" xml:space="preserve">"<xsl:value-of select="."/>"</xsl:template>
想法是您要求它对 csv 输出的每个值字段加双引号。
为确保输出实际上不为空,您可以改为从 PowerShell
测试命令:
GWMI Win32_Process -F "Name='frmweb.exe'"|Select Name,CommandLine|Export-CSV -U -NoT .\commandline.txt
关于windows - 使用 WMIC 时,命令行输出仍然为空,但显示在 taskmgr gui (Windows) 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51473872/