我只想确定正在运行的进程的工作目录。在Linux中,您可以使用pwdx,但是我在Windows中找不到类似的工具。获得命令行解决方案将是完美的。
我几乎尝试了所有可能的Windows命令。 wmic gwmic taskkill ..它们都不是我的问题的解决方案。
答案 0 :(得分:1)
PowerShell中的Get-Process
命令为您提供等效信息(至少是.exe的路径)
>Get-Process ssms | Select -Expand Path | Split-path
C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio
如果需要,可以将其设置为自己的功能
Function pwdx{
param($Process)
Get-Process $Process | Select -Expand Path |Split-Path
}
C:\Users\FoxDeploy> pwdx notepad
C:\WINDOWS\system32
如果需要在Windows的命令行中执行此操作,则可以通过这种方式找到该过程。
wmic process where "name like '%notepad%'" get ExecutablePath
ExecutablePath
C:\WINDOWS\system32\notepad.exe
答案 1 :(得分:0)
如果您希望获得与Process Explorer相同的信息,则可以在该进程上使用Windows Management Instrumentation查询。
Function Query-Process-WMI
{
param
(
[Parameter( Mandatory = $true )]
[String]
$processName
)
$process = Get-Process $processName
$processInfo = $process | ForEach-Object { Get-WmiObject Win32_Process -Filter "name = '$($_.MainModule.ModuleName)'" }
$processInfoCommandLine = $processInfo | ForEach-Object { $_.CommandLine }
return $processInfoCommandLine
}