我只想确定正在运行的进程的工作目录。在Linux中你可以使用pwdx,但我在windows中找不到类似的工具。这将是一个完美的命令行解决方案。
对于windows,我几乎尝试了所有可能的命令。wmic gwmic任务杀..它们都不能解决我的问题。
发布于 2019-05-22 01:24:38
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发布于 2019-05-22 01:41:38
如果要接收与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
}https://stackoverflow.com/questions/56243276
复制相似问题