如何在Windows命令行中获取父命令?

时间:2015-04-16 23:11:42

标签: windows git shell batch-file cmd

在Unix shell中,我可以使用ps -ocommand= -p $PPID获取父命令。如何从Windows shell中执行相同的操作?

我需要这个用于Git预提交钩子,它检测是否使用--amend标志启动了提交。

1 个答案:

答案 0 :(得分:0)

这样做的一种粗略方法是使用标题查询查找当前的PID。

title ABC
for /f "tokens=2" %%P in ('tasklist /V ^| findstr "ABC"') do set CurrentPid=%%P
for /f "tokens=2 skip=1" %%P in ('wmic process where ProcessId^=%CurrentPid% get Caption^,ParentProcessId^,ProcessId') do set ParentProcessId=%%P
wmic process where ProcessId=%ParentProcessId% get CommandLine

有很多可以在那里优化。