如何复制(在剪贴板中)文件的详细信息?

Dom*_*que 6 windows clipboard file-management windows-server windows-10

我正在使用 Windows-10。

我刚刚做了很多工作来获取已编译文件的详细信息中的 ShortSha 信息。现在我想将该信息复制到剪贴板中,但这似乎不起作用,正如您从以下屏幕截图中看到的那样:

在此输入图像描述

正如您所看到的,我可以选择信息,但无法将其复制到剪贴板,而我想复制 ShortSha 以便在我的 Git-Extensions 版本控制系统中找到该信息。

就我的 Windows 版本而言,这是命令的结果winver

在此输入图像描述

供您参考:我确信曾经使用过可以复制该信息的 Windows 版本(即Windows Server版本)。

编辑:
因为我确信我已经在另一个 Windows 环境中完成了此操作,所以我想知道该功能的确切名称以及此类 Windows 环境的示例。就这样,我可能会开始寻找补丁。

Edit2:关于PowerShell的评论
在Powershell中,我启动了以下命令,这是非常有前途的:

Get-Item "C:\Directory\Application.dll").VersionInfo.ProductVersion
Run Code Online (Sandbox Code Playgroud)

如果我继续使用此解决方案,我需要知道:

  • 如何使用该结果作为输入复制到剪贴板(Set-Clipboard -Value Get-Item "C:\Directory\Application.dll").VersionInfo.ProductVersion不起作用)
  • 如何将其集成到 Windows 上下文菜单中(右键单击并在该文件上启动命令)

Edit3:关于 Windows Server 的评论
我发现我正在使用此功能在 Windows Server 上工作。是否有可能此功能在 Windows-10 版本上不起作用?如果没有,是否有可用的补丁可以使其工作?

har*_*ymc 2

您的 PowerShell 几乎是正确的,只是缺少一对括号:

Set-Clipboard -Value (Get-Item "C:\Directory\Application.dll").VersionInfo.ProductVersion
Run Code Online (Sandbox Code Playgroud)

要在上下文菜单中使用它,请创建一个.ps1包含以下内容的脚本文件。我的存储在C:\Temp\test.ps1.

$param1=$args[0]
Set-Clipboard -Value (Get-Item "$param1").VersionInfo.ProductVersion
Run Code Online (Sandbox Code Playgroud)

现在将以下文本复制到.reg文件中,然后双击它以导入到注册表中。它将创建一个名为“获取 DLL 版本”的上下文菜单操作,并使用上面的脚本(请确保在下面的文本中设置正确的脚本路径,文件名内有双反斜杠):

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Classes\dllfile]

[HKEY_CURRENT_USER\SOFTWARE\Classes\dllfile\shell]

[HKEY_CURRENT_USER\SOFTWARE\Classes\dllfile\shell\DLLVersion]
@="Get DLL version"

[HKEY_CURRENT_USER\SOFTWARE\Classes\dllfile\shell\DLLVersion\command]
@="powershell.exe -ExecutionPolicy Bypass -File \"C:\\Temp\\test.ps1\" \"%1\""
Run Code Online (Sandbox Code Playgroud)

新的上下文菜单条目可以立即使用。